openbsd-ports/audio/gsm/patches/patch-ab
brad e1ceb1fdd9 - quiet down rm
- change from hard coded check for Alpha to using NO_SHARED_LIBS define
- really use $(PREFIX) instead of hard coding it to /usr/local
1999-06-19 05:26:53 +00:00

248 lines
5.7 KiB
Plaintext

--- Makefile.orig Tue Jul 2 10:36:06 1996
+++ Makefile Sat Jun 19 01:01:18 1999
@@ -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,19 +61,19 @@
######### 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)
-
# 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 =
+INSTALL_ROOT = $(PREFIX)
# Where do you want to install the gsm library, header file, and manpages?
#
@@ -80,7 +82,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
@@ -106,6 +108,7 @@
COMPRESSFLAGS =
# RANLIB = true
RANLIB = ranlib
+RM = rm -f
#
# You shouldn't have to configure below this line if you're porting.
@@ -129,18 +132,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 defined(NO_SHARED_LIBS)
+LIBGSMSO =
+INSTALLED_LIBGSMSO =
+.else
+LIBGSMSO = $(LIB)/libgsm.so.1.0
+INSTALLED_LIBGSMSO = $(GSM_INSTALL_LIB)/libgsm.so.1.0
+.endif
TOAST = $(BIN)/toast
UNTOAST = $(BIN)/untoast
TCAT = $(BIN)/tcat
@@ -258,6 +268,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 +288,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,8 +313,11 @@
# The basic API: libgsm
+$(LIBGSMSO): $(LIB) $(GSM_OBJECTS:S/o$/so/g)
+ ld -Bshareable -Bforcearchive -o $@ $(GSM_OBJECTS:S/o$/so/g)
+
$(LIBGSM): $(LIB) $(GSM_OBJECTS)
- -rm $(RMFLAGS) $(LIBGSM)
+ $(RM) $(RMFLAGS) $(LIBGSM)
$(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS)
$(RANLIB) $(LIBGSM)
@@ -308,14 +325,14 @@
# 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)
+ $(RM) $(RMFLAGS) $(UNTOAST)
$(LN) $(TOAST) $(UNTOAST)
$(TCAT): $(BIN) $(TOAST)
- -rm $(RMFLAGS) $(TCAT)
+ $(RM) $(RMFLAGS) $(TCAT)
$(LN) $(TOAST) $(TCAT)
@@ -342,59 +359,65 @@
gsmuninstall:
-if [ x"$(GSM_INSTALL_ROOT)" != x ] ; then \
- rm $(RMFLAGS) $(GSM_INSTALL_TARGETS) ; \
+ $(RM) $(RMFLAGS) $(GSM_INSTALL_TARGETS) ; \
fi
toastuninstall:
-if [ x"$(TOAST_INSTALL_ROOT)" != x ] ; then \
- rm $(RMFLAGS) $(TOAST_INSTALL_TARGETS); \
+ $(RM) $(RMFLAGS) $(TOAST_INSTALL_TARGETS); \
fi
$(TOAST_INSTALL_BIN)/toast: $(TOAST)
- -rm $@
+ $(RM) $@
cp $(TOAST) $@
chmod 755 $@
$(TOAST_INSTALL_BIN)/untoast: $(TOAST_INSTALL_BIN)/toast
- -rm $@
+ $(RM) $@
ln $? $@
$(TOAST_INSTALL_BIN)/tcat: $(TOAST_INSTALL_BIN)/toast
- -rm $@
+ $(RM) $@
ln $? $@
$(TOAST_INSTALL_MAN)/toast.1: $(MAN)/toast.1
- -rm $@
+ $(RM) $@
cp $? $@
chmod 444 $@
$(GSM_INSTALL_MAN)/gsm.3: $(MAN)/gsm.3
- -rm $@
+ $(RM) $@
cp $? $@
chmod 444 $@
$(GSM_INSTALL_MAN)/gsm_option.3: $(MAN)/gsm_option.3
- -rm $@
+ $(RM) $@
cp $? $@
chmod 444 $@
$(GSM_INSTALL_MAN)/gsm_explode.3: $(MAN)/gsm_explode.3
- -rm $@
+ $(RM) $@
cp $? $@
chmod 444 $@
$(GSM_INSTALL_MAN)/gsm_print.3: $(MAN)/gsm_print.3
- -rm $@
+ $(RM) $@
cp $? $@
chmod 444 $@
$(GSM_INSTALL_INC)/gsm.h: $(INC)/gsm.h
- -rm $@
+ $(RM) $@
cp $? $@
chmod 444 $@
$(GSM_INSTALL_LIB)/libgsm.a: $(LIBGSM)
- -rm $@
+ $(RM) $@
+ cp $? $@
+ chmod 444 $@
+ $(RANLIB) $@
+
+$(INSTALLED_LIBGSMSO): $(LIBGSMSO)
+ $(RM) $@
cp $? $@
chmod 444 $@
@@ -416,16 +439,16 @@
@-echo uninstall: Done.
semi-clean:
- -rm $(RMFLAGS) */*.o \
+ $(RM) $(RMFLAGS) */*.o \
$(TST)/lin2cod $(TST)/lin2txt \
$(TST)/cod2lin $(TST)/cod2txt \
$(TST)/gsm2cod \
$(TST)/*.*.*
-$(FIND) . \( -name core -o -name foo \) \
- -print | xargs rm $(RMFLAGS)
+ -print | xargs $(RM) $(RMFLAGS)
clean: semi-clean
- -rm $(RMFLAGS) $(LIBGSM) $(ADDTST)/add \
+ $(RM) $(RMFLAGS) $(LIBGSM) $(ADDTST)/add \
$(TOAST) $(TCAT) $(UNTOAST) \
$(ROOT)/gsm-1.0.tar.Z