1998-02-12 15:21:07 -05:00
|
|
|
--- Makefile.orig Tue Jul 2 16:36:06 1996
|
|
|
|
+++ Makefile Wed Feb 11 21:43:14 1998
|
|
|
|
@@ -7,11 +7,13 @@
|
|
|
|
SASR = -DSASR
|
|
|
|
######### Define SASR if >> is a signed arithmetic shift (-1 >> 1 == -1)
|
|
|
|
|
|
|
|
-MULHACK = -DUSE_FLOAT_MUL
|
|
|
|
+#MULHACK = -DUSE_FLOAT_MUL # Don't define it for FreeBSD, cause SIGFPE
|
|
|
|
+MULHACK =
|
|
|
|
######### Define this if your host multiplies floats faster than integers,
|
|
|
|
######### e.g. on a SPARCstation.
|
|
|
|
|
|
|
|
-FAST = -DFAST
|
|
|
|
+#FAST = -DFAST
|
|
|
|
+FAST =
|
|
|
|
######### Define together with USE_FLOAT_MUL to enable the GSM library's
|
|
|
|
######### approximation option for incorrect, but good-enough results.
|
|
|
|
|
|
|
|
@@ -43,8 +45,8 @@
|
|
|
|
# CC = /usr/lang/acc
|
|
|
|
# CCFLAGS = -c -O
|
|
|
|
|
|
|
|
-CC = gcc -ansi -pedantic
|
|
|
|
-CCFLAGS = -c -O2 -DNeedFunctionPrototypes=1
|
|
|
|
+#CC = gcc -ansi -pedantic
|
|
|
|
+CCFLAGS = -c -DNeedFunctionPrototypes=1
|
|
|
|
|
|
|
|
LD = $(CC)
|
|
|
|
|
|
|
|
@@ -59,11 +61,13 @@
|
|
|
|
######### Includes needed by $(CC)
|
|
|
|
|
|
|
|
# LDINC = -L/usr/gnu/lib/gcc-2.1/gcc-lib/sparc-sun-sunos4.1.2/2.1
|
|
|
|
+LDINC = -L$(LIB)
|
|
|
|
######### Library paths needed by $(LD)
|
|
|
|
|
|
|
|
# LDLIB = -lgcc
|
|
|
|
######### Additional libraries needed by $(LD)
|
|
|
|
|
|
|
|
+PREFIX= /usr/local
|
|
|
|
|
|
|
|
# Where do you want to install libraries, binaries, a header file
|
|
|
|
# and the manual pages?
|
|
|
|
@@ -71,7 +75,7 @@
|
|
|
|
# Leave INSTALL_ROOT empty (or just don't execute "make install") to
|
|
|
|
# not install gsm and toast outside of this directory.
|
|
|
|
|
|
|
|
-INSTALL_ROOT =
|
|
|
|
+INSTALL_ROOT = $(PREFIX)
|
|
|
|
|
|
|
|
# Where do you want to install the gsm library, header file, and manpages?
|
|
|
|
#
|
|
|
|
@@ -80,7 +84,7 @@
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
@@ -129,18 +133,25 @@
|
|
|
|
# DEBUG = -DNDEBUG
|
|
|
|
######### Remove -DNDEBUG to enable assertions.
|
|
|
|
|
|
|
|
-CFLAGS = $(CCFLAGS) $(SASR) $(DEBUG) $(MULHACK) $(FAST) $(LTP_CUT) \
|
|
|
|
+CFLAGS += $(CCFLAGS) $(SASR) $(DEBUG) $(MULHACK) $(FAST) $(LTP_CUT) \
|
|
|
|
$(WAV49) $(CCINC) -I$(INC)
|
|
|
|
######### It's $(CC) $(CFLAGS)
|
|
|
|
|
|
|
|
LFLAGS = $(LDFLAGS) $(LDINC)
|
|
|
|
######### It's $(LD) $(LFLAGS)
|
|
|
|
|
|
|
|
+.SUFFIXES: .c .so .o
|
|
|
|
|
|
|
|
# Targets
|
|
|
|
|
|
|
|
LIBGSM = $(LIB)/libgsm.a
|
|
|
|
-
|
|
|
|
+.if ${MACHINE} == "alpha"
|
|
|
|
+LIBGSMSO =
|
|
|
|
+INTALLED_LIBGSMSO =
|
|
|
|
+.else
|
|
|
|
+LIBGSMSO = $(LIB)/libgsm.so.1.0
|
|
|
|
+INTALLED_LIBGSMSO = $(GSM_INSTALL_LIB)/$(LIBGSMSO)
|
|
|
|
+.endif
|
|
|
|
TOAST = $(BIN)/toast
|
|
|
|
UNTOAST = $(BIN)/untoast
|
|
|
|
TCAT = $(BIN)/tcat
|
|
|
|
@@ -258,6 +269,7 @@
|
|
|
|
|
|
|
|
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 +289,12 @@
|
|
|
|
$(CC) $(CFLAGS) $?
|
|
|
|
@-mv `$(BASENAME) $@` $@ > /dev/null 2>&1
|
|
|
|
|
|
|
|
+.c.so:
|
|
|
|
+ ${CC} -fpic -DPIC ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
|
|
|
|
+
|
|
|
|
# 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 +314,9 @@
|
|
|
|
|
|
|
|
# The basic API: libgsm
|
|
|
|
|
|
|
|
+$(LIBGSMSO): $(LIB) $(GSM_OBJECTS:S/o$/so/g)
|
|
|
|
+ ld -Bshareable -o $@ $(GSM_OBJECTS:S/o$/so/g)
|
|
|
|
+
|
|
|
|
$(LIBGSM): $(LIB) $(GSM_OBJECTS)
|
|
|
|
-rm $(RMFLAGS) $(LIBGSM)
|
|
|
|
$(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS)
|
|
|
|
@@ -308,7 +326,7 @@
|
|
|
|
# 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)
|
|
|
|
@@ -394,6 +412,12 @@
|
|
|
|
chmod 444 $@
|
|
|
|
|
|
|
|
$(GSM_INSTALL_LIB)/libgsm.a: $(LIBGSM)
|
|
|
|
+ -rm $@
|
|
|
|
+ cp $? $@
|
|
|
|
+ chmod 444 $@
|
|
|
|
+ ranlib $@
|
|
|
|
+
|
|
|
|
+$(INSTALLED_LIBGSMSO): $(LIBGSMSO)
|
|
|
|
-rm $@
|
|
|
|
cp $? $@
|
|
|
|
chmod 444 $@
|