You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
185 lines
4.6 KiB
185 lines
4.6 KiB
diff -up gsm-1.0-pl17/Makefile.mk gsm-1.0-pl17/Makefile |
|
--- gsm-1.0-pl17/Makefile.mk 2017-06-28 02:24:24.000000000 +0200 |
|
+++ gsm-1.0-pl17/Makefile 2017-06-29 13:18:44.138719902 +0200 |
|
@@ -44,13 +44,17 @@ WAV49 = -DWAV49 |
|
# CCFLAGS = -c -O |
|
|
|
CC = gcc -ansi -pedantic |
|
-CCFLAGS = -c -O2 -DNeedFunctionPrototypes=1 -Wall -Wno-comment |
|
+CCFLAGS = -c $(RPM_OPT_FLAGS) -DNeedFunctionPrototypes=1 -Wall -Wno-comment -D_XOPEN_SOURCE=700 -D_REENTRANT -fPIC |
|
|
|
LD = $(CC) |
|
|
|
# LD = gcc |
|
# LDFLAGS = |
|
|
|
+SO_MAJOR = 1 |
|
+SO_MINOR = 0 |
|
+SO_PATCH = 18 |
|
+SO_VER = $(SO_MAJOR).$(SO_MINOR).$(SO_PATCH) |
|
|
|
# If your compiler needs additional flags/libraries, regardless of |
|
# the source compiled, configure them here. |
|
@@ -81,7 +85,7 @@ INSTALL_ROOT = |
|
GSM_INSTALL_ROOT = $(INSTALL_ROOT) |
|
GSM_INSTALL_LIB = $(GSM_INSTALL_ROOT)/lib |
|
GSM_INSTALL_INC = $(GSM_INSTALL_ROOT)/inc |
|
-GSM_INSTALL_MAN = $(GSM_INSTALL_ROOT)/man/man3 |
|
+GSM_INSTALL_MAN = $(GSM_INSTALL_ROOT)/share/man/man3 |
|
|
|
|
|
# Where do you want to install the toast binaries and their manpage? |
|
@@ -91,16 +95,16 @@ GSM_INSTALL_MAN = $(GSM_INSTALL_ROOT)/ma |
|
|
|
TOAST_INSTALL_ROOT = $(INSTALL_ROOT) |
|
TOAST_INSTALL_BIN = $(TOAST_INSTALL_ROOT)/bin |
|
-TOAST_INSTALL_MAN = $(TOAST_INSTALL_ROOT)/man/man1 |
|
+TOAST_INSTALL_MAN = $(TOAST_INSTALL_ROOT)/share/man/man1 |
|
|
|
# Other tools |
|
|
|
SHELL = /bin/sh |
|
-LN = ln |
|
+LN = ln -s |
|
BASENAME = basename |
|
AR = ar |
|
ARFLAGS = cr |
|
-RMFLAGS = |
|
+RMFLAGS = -f |
|
FIND = find |
|
COMPRESS = gzip |
|
COMPRESSFLAGS = |
|
@@ -140,6 +144,7 @@ LFLAGS = $(LDFLAGS) $(LDINC) |
|
# Targets |
|
|
|
LIBGSM = $(LIB)/libgsm.a |
|
+LIBGSMSO = $(LIB)/libgsm.so |
|
|
|
TOAST = $(BIN)/toast |
|
UNTOAST = $(BIN)/untoast |
|
@@ -257,7 +262,9 @@ STUFF = ChangeLog \ |
|
# Install targets |
|
|
|
GSM_INSTALL_TARGETS = \ |
|
- $(GSM_INSTALL_LIB)/libgsm.a \ |
|
+ $(GSM_INSTALL_LIB)/libgsm.so.$(SO_VER) \ |
|
+ $(GSM_INSTALL_LIB)/libgsm.so.$(SO_MAJOR)\ |
|
+ $(GSM_INSTALL_LIB)/libgsm.so \ |
|
$(GSM_INSTALL_INC)/gsm.h \ |
|
$(GSM_INSTALL_MAN)/gsm.3 \ |
|
$(GSM_INSTALL_MAN)/gsm_explode.3 \ |
|
@@ -279,7 +286,7 @@ TOAST_INSTALL_TARGETS = \ |
|
|
|
# Target rules |
|
|
|
-all: $(LIBGSM) $(TOAST) $(TCAT) $(UNTOAST) |
|
+all: $(LIBGSMSO) $(TOAST) $(TCAT) $(UNTOAST) |
|
@-echo $(ROOT): Done. |
|
|
|
tst: $(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/test-result |
|
@@ -299,24 +306,32 @@ install: toastinstall gsminstall |
|
|
|
# The basic API: libgsm |
|
|
|
+$(LIBGSMSO).$(SO_VER): $(LIB) $(GSM_OBJECTS) |
|
+ $(LD) $(LFLAGS) -o $@ -shared -Xlinker -soname -Xlinker libgsm.so.$(SO_MAJOR) $(GSM_OBJECTS) -lc |
|
+ |
|
+$(LIBGSMSO).$(SO_MAJOR): $(LIBGSMSO).$(SO_VER) |
|
+ ln -fs libgsm.so.$(SO_VER) lib/libgsm.so.$(SO_MAJOR) |
|
+ |
|
+$(LIBGSMSO): $(LIBGSMSO).$(SO_VER) |
|
+ ln -fs libgsm.so.$(SO_VER) lib/libgsm.so |
|
+ |
|
$(LIBGSM): $(LIB) $(GSM_OBJECTS) |
|
-rm $(RMFLAGS) $(LIBGSM) |
|
$(AR) $(ARFLAGS) $(LIBGSM) $(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) |
|
+$(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSMSO) |
|
+ $(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 |
|
@@ -352,8 +367,7 @@ toastuninstall: |
|
|
|
$(TOAST_INSTALL_BIN)/toast: $(TOAST) |
|
-rm $@ |
|
- cp $(TOAST) $@ |
|
- chmod 755 $@ |
|
+ install -pm755 $(TOAST) $@ |
|
|
|
$(TOAST_INSTALL_BIN)/untoast: $(TOAST_INSTALL_BIN)/toast |
|
-rm $@ |
|
@@ -365,39 +379,43 @@ $(TOAST_INSTALL_BIN)/tcat: $(TOAST_INSTA |
|
|
|
$(TOAST_INSTALL_MAN)/toast.1: $(MAN)/toast.1 |
|
-rm $@ |
|
- cp $? $@ |
|
- chmod 444 $@ |
|
+ install -pm644 $? $@ |
|
|
|
$(GSM_INSTALL_MAN)/gsm.3: $(MAN)/gsm.3 |
|
-rm $@ |
|
- cp $? $@ |
|
- chmod 444 $@ |
|
+ install -pm644 $? $@ |
|
|
|
$(GSM_INSTALL_MAN)/gsm_option.3: $(MAN)/gsm_option.3 |
|
-rm $@ |
|
- cp $? $@ |
|
- chmod 444 $@ |
|
+ install -pm644 $? $@ |
|
|
|
$(GSM_INSTALL_MAN)/gsm_explode.3: $(MAN)/gsm_explode.3 |
|
-rm $@ |
|
- cp $? $@ |
|
- chmod 444 $@ |
|
+ install -pm644 $? $@ |
|
|
|
$(GSM_INSTALL_MAN)/gsm_print.3: $(MAN)/gsm_print.3 |
|
-rm $@ |
|
- cp $? $@ |
|
- chmod 444 $@ |
|
+ install -pm644 $? $@ |
|
|
|
$(GSM_INSTALL_INC)/gsm.h: $(INC)/gsm.h |
|
-rm $@ |
|
- cp $? $@ |
|
- chmod 444 $@ |
|
+ install -pm644 $? $@ |
|
|
|
$(GSM_INSTALL_LIB)/libgsm.a: $(LIBGSM) |
|
-rm $@ |
|
- cp $? $@ |
|
- chmod 444 $@ |
|
+ install -pm644 $? $@ |
|
|
|
+$(GSM_INSTALL_LIB)/libgsm.so.$(SO_VER): $(LIBGSMSO).$(SO_VER) |
|
+ -rm $@ |
|
+ install -pm755 $? $@ |
|
+ |
|
+$(GSM_INSTALL_LIB)/libgsm.so.$(SO_MAJOR): $(LIBGSMSO).$(SO_MAJOR) |
|
+ -rm $@ |
|
+ ln -s libgsm.so.$(SO_VER) $@ |
|
+ |
|
+$(GSM_INSTALL_LIB)/libgsm.so: $(LIBGSMSO) |
|
+ -rm $@ |
|
+ ln -s libgsm.so.$(SO_VER) $@ |
|
|
|
# Distribution |
|
|
|
|