|
diff -ur gsm-1.0-pl13.orig/Makefile gsm-1.0-pl13/Makefile |
|
--- gsm-1.0-pl13.orig/Makefile 2006-04-26 22:14:26.000000000 +0300 |
|
+++ gsm-1.0-pl13/Makefile 2009-09-08 14:50:02.000000000 +0300 |
|
@@ -96,7 +96,7 @@ |
|
# Other tools |
|
|
|
SHELL = /bin/sh |
|
-LN = ln |
|
+LN = ln -s |
|
BASENAME = basename |
|
AR = ar |
|
ARFLAGS = cr |
|
@@ -140,6 +140,7 @@ |
|
# Targets |
|
|
|
LIBGSM = $(LIB)/libgsm.a |
|
+LIBGSMSO= $(LIB)/libgsm.so |
|
|
|
TOAST = $(BIN)/toast |
|
UNTOAST = $(BIN)/untoast |
|
@@ -203,24 +204,43 @@ |
|
|
|
# Object files |
|
|
|
-GSM_OBJECTS = $(SRC)/add.o \ |
|
- $(SRC)/code.o \ |
|
- $(SRC)/debug.o \ |
|
- $(SRC)/decode.o \ |
|
- $(SRC)/long_term.o \ |
|
- $(SRC)/lpc.o \ |
|
- $(SRC)/preprocess.o \ |
|
- $(SRC)/rpe.o \ |
|
- $(SRC)/gsm_destroy.o \ |
|
- $(SRC)/gsm_decode.o \ |
|
- $(SRC)/gsm_encode.o \ |
|
- $(SRC)/gsm_explode.o \ |
|
- $(SRC)/gsm_implode.o \ |
|
- $(SRC)/gsm_create.o \ |
|
- $(SRC)/gsm_print.o \ |
|
- $(SRC)/gsm_option.o \ |
|
- $(SRC)/short_term.o \ |
|
- $(SRC)/table.o |
|
+STATIC_GSM_OBJECTS = $(SRC)/add.o \ |
|
+ $(SRC)/code.o \ |
|
+ $(SRC)/debug.o \ |
|
+ $(SRC)/decode.o \ |
|
+ $(SRC)/long_term.o \ |
|
+ $(SRC)/lpc.o \ |
|
+ $(SRC)/preprocess.o \ |
|
+ $(SRC)/rpe.o \ |
|
+ $(SRC)/gsm_destroy.o \ |
|
+ $(SRC)/gsm_decode.o \ |
|
+ $(SRC)/gsm_encode.o \ |
|
+ $(SRC)/gsm_explode.o \ |
|
+ $(SRC)/gsm_implode.o \ |
|
+ $(SRC)/gsm_create.o \ |
|
+ $(SRC)/gsm_print.o \ |
|
+ $(SRC)/gsm_option.o \ |
|
+ $(SRC)/short_term.o \ |
|
+ $(SRC)/table.o |
|
+ |
|
+SHARED_GSM_OBJECTS = $(SRC)/add.lo \ |
|
+ $(SRC)/code.lo \ |
|
+ $(SRC)/debug.lo \ |
|
+ $(SRC)/decode.lo \ |
|
+ $(SRC)/long_term.lo \ |
|
+ $(SRC)/lpc.lo \ |
|
+ $(SRC)/preprocess.lo \ |
|
+ $(SRC)/rpe.lo \ |
|
+ $(SRC)/gsm_destroy.lo \ |
|
+ $(SRC)/gsm_decode.lo \ |
|
+ $(SRC)/gsm_encode.lo \ |
|
+ $(SRC)/gsm_explode.lo \ |
|
+ $(SRC)/gsm_implode.lo \ |
|
+ $(SRC)/gsm_create.lo \ |
|
+ $(SRC)/gsm_print.lo \ |
|
+ $(SRC)/gsm_option.lo \ |
|
+ $(SRC)/short_term.lo \ |
|
+ $(SRC)/table.lo |
|
|
|
TOAST_OBJECTS = $(SRC)/toast.o \ |
|
$(SRC)/toast_lin.o \ |
|
@@ -228,7 +248,7 @@ |
|
$(SRC)/toast_alaw.o \ |
|
$(SRC)/toast_audio.o |
|
|
|
-OBJECTS = $(GSM_OBJECTS) $(TOAST_OBJECTS) |
|
+OBJECTS = $(STATIC_GSM_OBJECTS) $(SHARED_GSM_OBJECTS) $(TOAST_OBJECTS) |
|
|
|
# Manuals |
|
|
|
@@ -277,9 +297,12 @@ |
|
$(CC) $(CFLAGS) $? |
|
@-mv `$(BASENAME) $@` $@ > /dev/null 2>&1 |
|
|
|
+%.lo: %.c |
|
+ $(CC) $(CFLAGS) -fPIC -c $< -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,24 +322,29 @@ |
|
|
|
# The basic API: libgsm |
|
|
|
-$(LIBGSM): $(LIB) $(GSM_OBJECTS) |
|
+$(LIBGSMSO): $(LIB) $(SHARED_GSM_OBJECTS) |
|
+ $(LD) $(LFLAGS) -o [email protected] -shared -Xlinker -soname -Xlinker libgsm.so.1 $(SHARED_GSM_OBJECTS) -lc |
|
+ ln -fs libgsm.so.1.0.13 lib/libgsm.so.1 |
|
+ ln -fs libgsm.so.1.0.13 lib/libgsm.so |
|
+ |
|
+$(LIBGSM): $(LIB) $(STATIC_GSM_OBJECTS) |
|
-rm $(RMFLAGS) $(LIBGSM) |
|
- $(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS) |
|
+ $(AR) $(ARFLAGS) $(LIBGSM) $(STATIC_GSM_OBJECTS) |
|
$(RANLIB) $(LIBGSM) |
|
|
|
|
|
# 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) $(LIBGSMSO) $(LDLIB) |
|
|
|
$(UNTOAST): $(BIN) $(TOAST) |
|
-rm $(RMFLAGS) $(UNTOAST) |
|
- $(LN) $(TOAST) $(UNTOAST) |
|
+ $(LN) toast $(UNTOAST) |
|
|
|
$(TCAT): $(BIN) $(TOAST) |
|
-rm $(RMFLAGS) $(TCAT) |
|
- $(LN) $(TOAST) $(TCAT) |
|
+ $(LN) toast $(TCAT) |
|
|
|
|
|
# The local bin and lib directories |
|
@@ -426,7 +454,9 @@ |
|
|
|
clean: semi-clean |
|
-rm $(RMFLAGS) $(LIBGSM) $(ADDTST)/add \ |
|
- $(TOAST) $(TCAT) $(UNTOAST) \ |
|
+ $(LIBGSMSO) $(LIB)/libgsm.so.1.0.13 \ |
|
+ $(LIB)libgsm.so.1 \ |
|
+ $(TOAST) $(TCAT) $(UNTOAST) \ |
|
$(ROOT)/gsm-1.0.tar.Z |
|
|
|
|
I'm not sure where I took this one from, but the credit goes to the author and not me, of course