302 lines
7.5 KiB
Diff
302 lines
7.5 KiB
Diff
--- Makefile 1996-07-02 16:36:06.000000000 +0200
|
|
+++ Makefile.oden 2004-09-11 17:39:00.308986936 +0200
|
|
@@ -30,6 +30,10 @@
|
|
######### define this, and read about the GSM_OPT_WAV49 option in the
|
|
######### manual page on gsm_option(3).
|
|
|
|
+PG =
|
|
+#PG = -g -pg
|
|
+######### Profiling flags. If you don't know what that means, leave it blank
|
|
+
|
|
# Choose a compiler. The code works both with ANSI and K&R-C.
|
|
# Use -DNeedFunctionPrototypes to compile with, -UNeedFunctionPrototypes to
|
|
# compile without, function prototypes in the header files.
|
|
@@ -44,7 +48,7 @@
|
|
# CCFLAGS = -c -O
|
|
|
|
CC = gcc -ansi -pedantic
|
|
-CCFLAGS = -c -O2 -DNeedFunctionPrototypes=1
|
|
+CCFLAGS = -c $(RPM_OPT_FLAGS) -fPIC -D_REENTRANT -DNeedFunctionPrototypes=1
|
|
|
|
LD = $(CC)
|
|
|
|
@@ -64,43 +68,27 @@
|
|
# LDLIB = -lgcc
|
|
######### Additional libraries needed by $(LD)
|
|
|
|
-
|
|
-# Where do you want to install libraries, binaries, a header file
|
|
-# and the manual pages?
|
|
-#
|
|
-# Leave INSTALL_ROOT empty (or just don't execute "make install") to
|
|
-# not install gsm and toast outside of this directory.
|
|
-
|
|
-INSTALL_ROOT =
|
|
-
|
|
# Where do you want to install the gsm library, header file, and manpages?
|
|
#
|
|
-# Leave GSM_INSTALL_ROOT empty to not install the GSM library outside of
|
|
+# Leave DESTDIR empty to not install the GSM library outside of
|
|
# this directory.
|
|
|
|
-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
|
|
+DESTDIR =
|
|
|
|
-
|
|
-# Where do you want to install the toast binaries and their manpage?
|
|
-#
|
|
-# Leave TOAST_INSTALL_ROOT empty to not install the toast binaries outside
|
|
-# of this directory.
|
|
-
|
|
-TOAST_INSTALL_ROOT = $(INSTALL_ROOT)
|
|
-TOAST_INSTALL_BIN = $(TOAST_INSTALL_ROOT)/bin
|
|
-TOAST_INSTALL_MAN = $(TOAST_INSTALL_ROOT)/man/man1
|
|
+prefix = /usr
|
|
+libdir = $(prefix)/lib
|
|
+includedir = $(prefix)/include
|
|
+datadir = $(prefix)/share
|
|
+mandir = $(datadir)/man
|
|
|
|
# Other tools
|
|
|
|
SHELL = /bin/sh
|
|
-LN = ln
|
|
+LN = ln -s
|
|
BASENAME = basename
|
|
AR = ar
|
|
ARFLAGS = cr
|
|
-RMFLAGS =
|
|
+RMFLAGS = -f
|
|
FIND = find
|
|
COMPRESS = compress
|
|
COMPRESSFLAGS =
|
|
@@ -129,17 +117,18 @@
|
|
# DEBUG = -DNDEBUG
|
|
######### Remove -DNDEBUG to enable assertions.
|
|
|
|
-CFLAGS = $(CCFLAGS) $(SASR) $(DEBUG) $(MULHACK) $(FAST) $(LTP_CUT) \
|
|
+CFLAGS = $(PG) $(CCFLAGS) $(SASR) $(DEBUG) $(MULHACK) $(FAST) $(LTP_CUT) \
|
|
$(WAV49) $(CCINC) -I$(INC)
|
|
######### It's $(CC) $(CFLAGS)
|
|
|
|
-LFLAGS = $(LDFLAGS) $(LDINC)
|
|
+LFLAGS = $(PG) $(LDFLAGS) $(LDINC)
|
|
######### It's $(LD) $(LFLAGS)
|
|
|
|
|
|
# Targets
|
|
|
|
LIBGSM = $(LIB)/libgsm.a
|
|
+LIBGSMSO = $(LIB)/libgsm.so
|
|
|
|
TOAST = $(BIN)/toast
|
|
UNTOAST = $(BIN)/untoast
|
|
@@ -257,18 +246,19 @@
|
|
# Install targets
|
|
|
|
GSM_INSTALL_TARGETS = \
|
|
- $(GSM_INSTALL_LIB)/libgsm.a \
|
|
- $(GSM_INSTALL_INC)/gsm.h \
|
|
- $(GSM_INSTALL_MAN)/gsm.3 \
|
|
- $(GSM_INSTALL_MAN)/gsm_explode.3 \
|
|
- $(GSM_INSTALL_MAN)/gsm_option.3 \
|
|
- $(GSM_INSTALL_MAN)/gsm_print.3
|
|
+ $(DESTDIR)$(libdir)/libgsm.a \
|
|
+ $(DESTDIR)$(libdir)/libgsm.so \
|
|
+ $(DESTDIR)$(includedir)/gsm/gsm.h \
|
|
+ $(DESTDIR)$(mandir)/man3/gsm.3 \
|
|
+ $(DESTDIR)$(mandir)/man3/gsm_explode.3 \
|
|
+ $(DESTDIR)$(mandir)/man3/gsm_option.3 \
|
|
+ $(DESTDIR)$(mandir)/man3/gsm_print.3
|
|
|
|
TOAST_INSTALL_TARGETS = \
|
|
- $(TOAST_INSTALL_BIN)/toast \
|
|
- $(TOAST_INSTALL_BIN)/tcat \
|
|
- $(TOAST_INSTALL_BIN)/untoast \
|
|
- $(TOAST_INSTALL_MAN)/toast.1
|
|
+ $(DESTDIR)$(bindir)/toast \
|
|
+ $(DESTDIR)$(bindir)/tcat \
|
|
+ $(DESTDIR)$(bindir)/untoast \
|
|
+ $(DESTDIR)$(mandir)/man1/toast.1
|
|
|
|
|
|
# Default rules
|
|
@@ -279,7 +269,7 @@
|
|
|
|
# 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 +289,28 @@
|
|
|
|
# The basic API: libgsm
|
|
|
|
+$(LIBGSMSO): $(LIB) $(GSM_OBJECTS)
|
|
+ $(LD) -o $@.1.0.10 -shared -Xlinker -soname -Xlinker libgsm.so.1 $(GSM_OBJECTS) -lc
|
|
+ ln -fs libgsm.so.1.0.10 lib/libgsm.so.1
|
|
+ ln -fs libgsm.so.1.0.10 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
|
|
@@ -331,72 +325,71 @@
|
|
# Installation
|
|
|
|
gsminstall:
|
|
- -if [ x"$(GSM_INSTALL_ROOT)" != x ] ; then \
|
|
- make $(GSM_INSTALL_TARGETS) ; \
|
|
- fi
|
|
+ make $(GSM_INSTALL_TARGETS)
|
|
|
|
toastinstall:
|
|
- -if [ x"$(TOAST_INSTALL_ROOT)" != x ]; then \
|
|
- make $(TOAST_INSTALL_TARGETS); \
|
|
- fi
|
|
+ make $(TOAST_INSTALL_TARGETS)
|
|
|
|
gsmuninstall:
|
|
- -if [ x"$(GSM_INSTALL_ROOT)" != x ] ; then \
|
|
- rm $(RMFLAGS) $(GSM_INSTALL_TARGETS) ; \
|
|
- fi
|
|
+ rm $(RMFLAGS) $(GSM_INSTALL_TARGETS)
|
|
|
|
toastuninstall:
|
|
- -if [ x"$(TOAST_INSTALL_ROOT)" != x ] ; then \
|
|
- rm $(RMFLAGS) $(TOAST_INSTALL_TARGETS); \
|
|
- fi
|
|
-
|
|
-$(TOAST_INSTALL_BIN)/toast: $(TOAST)
|
|
- -rm $@
|
|
- cp $(TOAST) $@
|
|
- chmod 755 $@
|
|
-
|
|
-$(TOAST_INSTALL_BIN)/untoast: $(TOAST_INSTALL_BIN)/toast
|
|
- -rm $@
|
|
- ln $? $@
|
|
-
|
|
-$(TOAST_INSTALL_BIN)/tcat: $(TOAST_INSTALL_BIN)/toast
|
|
- -rm $@
|
|
- ln $? $@
|
|
-
|
|
-$(TOAST_INSTALL_MAN)/toast.1: $(MAN)/toast.1
|
|
- -rm $@
|
|
- cp $? $@
|
|
- chmod 444 $@
|
|
-
|
|
-$(GSM_INSTALL_MAN)/gsm.3: $(MAN)/gsm.3
|
|
- -rm $@
|
|
- cp $? $@
|
|
- chmod 444 $@
|
|
-
|
|
-$(GSM_INSTALL_MAN)/gsm_option.3: $(MAN)/gsm_option.3
|
|
- -rm $@
|
|
- cp $? $@
|
|
- chmod 444 $@
|
|
-
|
|
-$(GSM_INSTALL_MAN)/gsm_explode.3: $(MAN)/gsm_explode.3
|
|
- -rm $@
|
|
- cp $? $@
|
|
- chmod 444 $@
|
|
-
|
|
-$(GSM_INSTALL_MAN)/gsm_print.3: $(MAN)/gsm_print.3
|
|
- -rm $@
|
|
- cp $? $@
|
|
- chmod 444 $@
|
|
-
|
|
-$(GSM_INSTALL_INC)/gsm.h: $(INC)/gsm.h
|
|
- -rm $@
|
|
- cp $? $@
|
|
- chmod 444 $@
|
|
-
|
|
-$(GSM_INSTALL_LIB)/libgsm.a: $(LIBGSM)
|
|
- -rm $@
|
|
- cp $? $@
|
|
- chmod 444 $@
|
|
+ rm $(RMFLAGS) $(TOAST_INSTALL_TARGETS)
|
|
+
|
|
+$(DESTDIR)$(bindir)/toast: $(TOAST)
|
|
+ -rm $(RMFLAGS) $@
|
|
+ -mkdir -p $(DESTDIR)$(bindir)
|
|
+ install -m0755 $(TOAST) $@
|
|
+
|
|
+$(DESTDIR)$(bindir)/untoast: $(DESTDIR)$(bindir)/toast
|
|
+ -rm $(RMFLAGS) $@
|
|
+ -mkdir -p $(DESTDIR)$(bindir)
|
|
+ ln -sf $(TOAST) $@
|
|
+
|
|
+$(DESTDIR)$(bindir)/tcat: $(DESTDIR)$(bindir)/toast
|
|
+ -rm $(RMFLAGS) $@
|
|
+ -mkdir -p $(DESTDIR)$(bindir)
|
|
+ ln -sf $(TOAST) $@
|
|
+
|
|
+$(DESTDIR)$(mandir)/man1/toast.1: $(MAN)/toast.1
|
|
+ -rm $(RMFLAGS) $@
|
|
+ -mkdir -p $(DESTDIR)$(mandir)/man1/
|
|
+ install -m0444 $? $@
|
|
+
|
|
+$(DESTDIR)$(mandir)/man3/gsm.3: $(MAN)/gsm.3
|
|
+ -rm $(RMFLAGS) $@
|
|
+ -mkdir -p $(DESTDIR)$(mandir)/man3/
|
|
+ install -m0444 $? $@
|
|
+
|
|
+$(DESTDIR)$(mandir)/man3/gsm_option.3: $(MAN)/gsm_option.3
|
|
+ -rm $(RMFLAGS) $@
|
|
+ -mkdir -p $(DESTDIR)$(mandir)/man3/
|
|
+ install -m0444 $? $@
|
|
+
|
|
+$(DESTDIR)$(mandir)/man3/gsm_explode.3: $(MAN)/gsm_explode.3
|
|
+ -rm $(RMFLAGS) $@
|
|
+ -mkdir -p $(DESTDIR)$(mandir)/man3/
|
|
+ install -m0444 $? $@
|
|
+
|
|
+$(DESTDIR)$(mandir)/man3/gsm_print.3: $(MAN)/gsm_print.3
|
|
+ -rm $(RMFLAGS) $@
|
|
+ -mkdir -p $(DESTDIR)$(mandir)/man3/
|
|
+ install -m0444 $? $@
|
|
+
|
|
+$(DESTDIR)$(includedir)/gsm/gsm.h: $(INC)/gsm.h
|
|
+ -rm $(RMFLAGS) $@
|
|
+ -mkdir -p $(DESTDIR)$(includedir)/gsm/
|
|
+ install -m0444 $? $@
|
|
+
|
|
+$(DESTDIR)$(libdir)/libgsm.a: $(LIBGSM)
|
|
+ -rm $(RMFLAGS) $@
|
|
+ -mkdir -p $(DESTDIR)$(libdir)
|
|
+ install -m0444 $? $@
|
|
+
|
|
+$(DESTDIR)$(libdir)/libgsm.so: $(LIBGSMSO)
|
|
+ -rm $(RMFLAGS) $@
|
|
+ -mkdir -p $(DESTDIR)$(libdir)
|
|
+ cp -av $?* $(DESTDIR)$(libdir)/
|
|
|
|
|
|
# Distribution
|