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