120 lines
3 KiB
Text
120 lines
3 KiB
Text
|
Index: Makefile
|
||
|
--- Makefile.orig
|
||
|
+++ Makefile
|
||
|
@@ -44,7 +44,7 @@ WAV49 = -DWAV49
|
||
|
# CCFLAGS = -c -O
|
||
|
|
||
|
CC = gcc -ansi -pedantic
|
||
|
-CCFLAGS = -c -O2 -DNeedFunctionPrototypes=1 -Wall -Wno-comment
|
||
|
+CCFLAGS = -c -DNeedFunctionPrototypes=1 -Wall -Wno-comment
|
||
|
|
||
|
LD = $(CC)
|
||
|
|
||
|
@@ -80,7 +80,7 @@ INSTALL_ROOT =
|
||
|
|
||
|
GSM_INSTALL_ROOT = $(INSTALL_ROOT)
|
||
|
GSM_INSTALL_LIB = $(GSM_INSTALL_ROOT)/lib
|
||
|
-GSM_INSTALL_INC = $(GSM_INSTALL_ROOT)/inc
|
||
|
+GSM_INSTALL_INC = $(GSM_INSTALL_ROOT)/include
|
||
|
GSM_INSTALL_MAN = $(GSM_INSTALL_ROOT)/man/man3
|
||
|
|
||
|
|
||
|
@@ -107,6 +107,8 @@ COMPRESSFLAGS =
|
||
|
# RANLIB = true
|
||
|
RANLIB = ranlib
|
||
|
|
||
|
+PICFLAG = -fpic
|
||
|
+
|
||
|
#
|
||
|
# You shouldn't have to configure below this line if you're porting.
|
||
|
#
|
||
|
@@ -136,11 +138,16 @@ CFLAGS = $(CCFLAGS) $(SASR) $(DEBUG) $(MULHACK) $(FAST
|
||
|
LFLAGS = $(LDFLAGS) $(LDINC)
|
||
|
######### It's $(LD) $(LFLAGS)
|
||
|
|
||
|
+.SUFFIXES: .o .so
|
||
|
|
||
|
# Targets
|
||
|
|
||
|
LIBGSM = $(LIB)/libgsm.a
|
||
|
+LIBgsm_VERSION= 1.0
|
||
|
|
||
|
+LIBGSMSO = $(LIB)/libgsm.so.${LIBgsm_VERSION}
|
||
|
+INSTALLED_LIBGSMSO = $(GSM_INSTALL_LIB)/libgsm.so.${LIBgsm_VERSION}
|
||
|
+
|
||
|
TOAST = $(BIN)/toast
|
||
|
UNTOAST = $(BIN)/untoast
|
||
|
TCAT = $(BIN)/tcat
|
||
|
@@ -258,6 +265,7 @@ STUFF = ChangeLog \
|
||
|
|
||
|
GSM_INSTALL_TARGETS = \
|
||
|
$(GSM_INSTALL_LIB)/libgsm.a \
|
||
|
+ $(INSTALLED_LIBGSMSO) \
|
||
|
$(GSM_INSTALL_INC)/gsm.h \
|
||
|
$(GSM_INSTALL_MAN)/gsm.3 \
|
||
|
$(GSM_INSTALL_MAN)/gsm_explode.3 \
|
||
|
@@ -277,9 +285,12 @@ TOAST_INSTALL_TARGETS = \
|
||
|
$(CC) $(CFLAGS) $?
|
||
|
@-mv `$(BASENAME) $@` $@ > /dev/null 2>&1
|
||
|
|
||
|
+.c.so:
|
||
|
+ $(CC) $(CFLAGS) $(PICFLAG) -DPIC $? -o $@
|
||
|
+
|
||
|
# Target rules
|
||
|
|
||
|
-all: $(LIBGSM) $(TOAST) $(TCAT) $(UNTOAST)
|
||
|
+all: $(LIBGSM) $(LIBGSMSO) $(TOAST) $(TCAT) $(UNTOAST)
|
||
|
@-echo $(ROOT): Done.
|
||
|
|
||
|
tst: $(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/test-result
|
||
|
@@ -299,6 +310,9 @@ install: toastinstall gsminstall
|
||
|
|
||
|
# The basic API: libgsm
|
||
|
|
||
|
+$(LIBGSMSO): $(LIB) $(GSM_OBJECTS:.o=.so)
|
||
|
+ $(CC) -shared $(PICFLAG) -o $@ $(GSM_OBJECTS:.o=.so)
|
||
|
+
|
||
|
$(LIBGSM): $(LIB) $(GSM_OBJECTS)
|
||
|
-rm $(RMFLAGS) $(LIBGSM)
|
||
|
$(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS)
|
||
|
@@ -308,7 +322,7 @@ $(LIBGSM): $(LIB) $(GSM_OBJECTS)
|
||
|
# Toast, Untoast and Tcat -- the compress-like frontends to gsm.
|
||
|
|
||
|
$(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSM)
|
||
|
- $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSM) $(LDLIB)
|
||
|
+ $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) -lgsm $(LDLIB)
|
||
|
|
||
|
$(UNTOAST): $(BIN) $(TOAST)
|
||
|
-rm $(RMFLAGS) $(UNTOAST)
|
||
|
@@ -351,9 +365,7 @@ toastuninstall:
|
||
|
fi
|
||
|
|
||
|
$(TOAST_INSTALL_BIN)/toast: $(TOAST)
|
||
|
- -rm $(RMFLAGS) $@
|
||
|
- cp $(TOAST) $@
|
||
|
- chmod 755 $@
|
||
|
+ $(BSD_INSTALL_PROGRAM) $(TOAST) $@
|
||
|
|
||
|
$(TOAST_INSTALL_BIN)/untoast: $(TOAST_INSTALL_BIN)/toast
|
||
|
-rm $(RMFLAGS) $@
|
||
|
@@ -398,7 +410,10 @@ $(GSM_INSTALL_LIB)/libgsm.a: $(LIBGSM)
|
||
|
cp $? $@
|
||
|
chmod 444 $@
|
||
|
|
||
|
+$(INSTALLED_LIBGSMSO): $(LIBGSMSO)
|
||
|
+ ${BSD_INSTALL_DATA} $? $@
|
||
|
|
||
|
+
|
||
|
# Distribution
|
||
|
|
||
|
dist: gsm-1.0.tar.gz
|
||
|
@@ -422,7 +437,7 @@ semi-clean:
|
||
|
$(TST)/gsm2cod \
|
||
|
$(TST)/*.*.*
|
||
|
-$(FIND) . \( -name core -o -name foo \) \
|
||
|
- -print | xargs rm $(RMFLAGS)
|
||
|
+ -delete
|
||
|
|
||
|
clean: semi-clean
|
||
|
-rm $(RMFLAGS) $(LIBGSM) $(ADDTST)/add \
|