gsm.patch 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. --- Makefile 2006-04-26 15:14:26.000000000 -0400
  2. +++ Makefile 2010-06-19 16:53:25.000000000 -0400
  3. @@ -44,7 +44,7 @@
  4. # CCFLAGS = -c -O
  5. CC = gcc -ansi -pedantic
  6. -CCFLAGS = -c -O2 -DNeedFunctionPrototypes=1
  7. +CCFLAGS = -c -O2 -fPIC -DNeedFunctionPrototypes=1
  8. LD = $(CC)
  9. @@ -96,11 +96,11 @@
  10. # Other tools
  11. SHELL = /bin/sh
  12. -LN = ln
  13. +LN = ln -s -f
  14. BASENAME = basename
  15. AR = ar
  16. ARFLAGS = cr
  17. -RMFLAGS =
  18. +RMFLAGS = -f
  19. FIND = find
  20. COMPRESS = compress
  21. COMPRESSFLAGS =
  22. @@ -139,7 +139,7 @@
  23. # Targets
  24. -LIBGSM = $(LIB)/libgsm.a
  25. +LIBGSMSO = $(LIB)/libgsm.so
  26. TOAST = $(BIN)/toast
  27. UNTOAST = $(BIN)/untoast
  28. @@ -257,7 +257,7 @@
  29. # Install targets
  30. GSM_INSTALL_TARGETS = \
  31. - $(GSM_INSTALL_LIB)/libgsm.a \
  32. + $(GSM_INSTALL_LIB)/libgsm.so \
  33. $(GSM_INSTALL_INC)/gsm.h \
  34. $(GSM_INSTALL_MAN)/gsm.3 \
  35. $(GSM_INSTALL_MAN)/gsm_explode.3 \
  36. @@ -279,7 +279,7 @@
  37. # Target rules
  38. -all: $(LIBGSM) $(TOAST) $(TCAT) $(UNTOAST)
  39. +all: $(LIBGSMSO) $(TOAST) $(TCAT) $(UNTOAST)
  40. @-echo $(ROOT): Done.
  41. tst: $(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/test-result
  42. @@ -299,24 +299,23 @@
  43. # The basic API: libgsm
  44. -$(LIBGSM): $(LIB) $(GSM_OBJECTS)
  45. - -rm $(RMFLAGS) $(LIBGSM)
  46. - $(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS)
  47. - $(RANLIB) $(LIBGSM)
  48. -
  49. +$(LIBGSMSO): $(LIB) $(GSM_OBJECTS)
  50. + $(LD) -shared -Wl,-soname,libgsm.so.1 -o $@.1.0.13 $(GSM_OBJECTS)
  51. + $(LN) libgsm.so.1.0.13 $(LIBGSMSO).1
  52. + $(LN) libgsm.so.1.0.13 $(LIBGSMSO)
  53. # Toast, Untoast and Tcat -- the compress-like frontends to gsm.
  54. -$(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSM)
  55. - $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSM) $(LDLIB)
  56. +$(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSMSO)
  57. + $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSMSO) $(LDLIB)
  58. $(UNTOAST): $(BIN) $(TOAST)
  59. -rm $(RMFLAGS) $(UNTOAST)
  60. - $(LN) $(TOAST) $(UNTOAST)
  61. + $(LN) toast $(UNTOAST)
  62. $(TCAT): $(BIN) $(TOAST)
  63. -rm $(RMFLAGS) $(TCAT)
  64. - $(LN) $(TOAST) $(TCAT)
  65. + $(LN) toast $(TCAT)
  66. # The local bin and lib directories
  67. @@ -351,53 +350,54 @@
  68. fi
  69. $(TOAST_INSTALL_BIN)/toast: $(TOAST)
  70. - -rm $@
  71. + -rm $(RMFLAGS) $@
  72. cp $(TOAST) $@
  73. chmod 755 $@
  74. $(TOAST_INSTALL_BIN)/untoast: $(TOAST_INSTALL_BIN)/toast
  75. - -rm $@
  76. - ln $? $@
  77. + -rm $(RMFLAGS) $@
  78. + $(LN) toast $@
  79. $(TOAST_INSTALL_BIN)/tcat: $(TOAST_INSTALL_BIN)/toast
  80. - -rm $@
  81. - ln $? $@
  82. + -rm $(RMFLAGS) $@
  83. + $(LN) toast $@
  84. $(TOAST_INSTALL_MAN)/toast.1: $(MAN)/toast.1
  85. - -rm $@
  86. + -rm $(RMFLAGS) $@
  87. cp $? $@
  88. chmod 444 $@
  89. $(GSM_INSTALL_MAN)/gsm.3: $(MAN)/gsm.3
  90. - -rm $@
  91. + -rm $(RMFLAGS) $@
  92. cp $? $@
  93. chmod 444 $@
  94. $(GSM_INSTALL_MAN)/gsm_option.3: $(MAN)/gsm_option.3
  95. - -rm $@
  96. + -rm $(RMFLAGS) $@
  97. cp $? $@
  98. chmod 444 $@
  99. $(GSM_INSTALL_MAN)/gsm_explode.3: $(MAN)/gsm_explode.3
  100. - -rm $@
  101. + -rm $(RMFLAGS) $@
  102. cp $? $@
  103. chmod 444 $@
  104. $(GSM_INSTALL_MAN)/gsm_print.3: $(MAN)/gsm_print.3
  105. - -rm $@
  106. + -rm $(RMFLAGS) $@
  107. cp $? $@
  108. chmod 444 $@
  109. $(GSM_INSTALL_INC)/gsm.h: $(INC)/gsm.h
  110. - -rm $@
  111. - cp $? $@
  112. - chmod 444 $@
  113. -
  114. -$(GSM_INSTALL_LIB)/libgsm.a: $(LIBGSM)
  115. - -rm $@
  116. + -rm $(RMFLAGS) $@
  117. cp $? $@
  118. chmod 444 $@
  119. +$(GSM_INSTALL_LIB)/libgsm.so: $(LIBGSMSO)
  120. + -rm $(RMFLAGS) $@ $@.1 $@.1.0.13
  121. + cp $?.1.0.13 $@.1.0.13
  122. + chmod 755 $@.1.0.13
  123. + $(LN) libgsm.so.1.0.13 $@
  124. + $(LN) libgsm.so.1.0.13 $@.1
  125. # Distribution
  126. @@ -425,7 +425,7 @@
  127. -print | xargs rm $(RMFLAGS)
  128. clean: semi-clean
  129. - -rm $(RMFLAGS) $(LIBGSM) $(ADDTST)/add \
  130. + -rm $(RMFLAGS) $(LIBGSMSO)* $(ADDTST)/add \
  131. $(TOAST) $(TCAT) $(UNTOAST) \
  132. $(ROOT)/gsm-1.0.tar.Z
  133. @@ -473,22 +473,22 @@
  134. $(TST)/test-result: $(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/run
  135. ( cd $(TST); ./run )
  136. -$(TST)/lin2txt: $(TST)/lin2txt.o $(LIBGSM)
  137. +$(TST)/lin2txt: $(TST)/lin2txt.o $(LIBGSMSO)
  138. $(LD) $(LFLAGS) -o $(TST)/lin2txt \
  139. - $(TST)/lin2txt.o $(LIBGSM) $(LDLIB)
  140. + $(TST)/lin2txt.o $(LIBGSMSO) $(LDLIB)
  141. -$(TST)/lin2cod: $(TST)/lin2cod.o $(LIBGSM)
  142. +$(TST)/lin2cod: $(TST)/lin2cod.o $(LIBGSMSO)
  143. $(LD) $(LFLAGS) -o $(TST)/lin2cod \
  144. - $(TST)/lin2cod.o $(LIBGSM) $(LDLIB)
  145. + $(TST)/lin2cod.o $(LIBGSMSO) $(LDLIB)
  146. -$(TST)/gsm2cod: $(TST)/gsm2cod.o $(LIBGSM)
  147. +$(TST)/gsm2cod: $(TST)/gsm2cod.o $(LIBGSMSO)
  148. $(LD) $(LFLAGS) -o $(TST)/gsm2cod \
  149. - $(TST)/gsm2cod.o $(LIBGSM) $(LDLIB)
  150. + $(TST)/gsm2cod.o $(LIBGSMSO) $(LDLIB)
  151. -$(TST)/cod2txt: $(TST)/cod2txt.o $(LIBGSM)
  152. +$(TST)/cod2txt: $(TST)/cod2txt.o $(LIBGSMSO)
  153. $(LD) $(LFLAGS) -o $(TST)/cod2txt \
  154. - $(TST)/cod2txt.o $(LIBGSM) $(LDLIB)
  155. + $(TST)/cod2txt.o $(LIBGSMSO) $(LDLIB)
  156. -$(TST)/cod2lin: $(TST)/cod2lin.o $(LIBGSM)
  157. +$(TST)/cod2lin: $(TST)/cod2lin.o $(LIBGSMSO)
  158. $(LD) $(LFLAGS) -o $(TST)/cod2lin \
  159. - $(TST)/cod2lin.o $(LIBGSM) $(LDLIB)
  160. + $(TST)/cod2lin.o $(LIBGSMSO) $(LDLIB)