*** Makefile.orig Tue Jul 2 18:36:06 1996 --- Makefile Fri Oct 25 17:15:42 1996 *************** *** 7,17 **** SASR = -DSASR ######### Define SASR if >> is a signed arithmetic shift (-1 >> 1 == -1) ! MULHACK = -DUSE_FLOAT_MUL ######### Define this if your host multiplies floats faster than integers, ######### e.g. on a SPARCstation. ! FAST = -DFAST ######### Define together with USE_FLOAT_MUL to enable the GSM library's ######### approximation option for incorrect, but good-enough results. --- 7,19 ---- SASR = -DSASR ######### Define SASR if >> is a signed arithmetic shift (-1 >> 1 == -1) ! #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 = ######### Define together with USE_FLOAT_MUL to enable the GSM library's ######### approximation option for incorrect, but good-enough results. *************** *** 43,50 **** # CC = /usr/lang/acc # CCFLAGS = -c -O ! CC = gcc -ansi -pedantic ! CCFLAGS = -c -O2 -DNeedFunctionPrototypes=1 LD = $(CC) --- 45,52 ---- # CC = /usr/lang/acc # CCFLAGS = -c -O ! #CC = gcc -ansi -pedantic ! CCFLAGS = -c -DNeedFunctionPrototypes=1 LD = $(CC) *************** *** 59,69 **** --- 61,73 ---- ######### 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,77 **** # 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? # --- 75,81 ---- # Leave INSTALL_ROOT empty (or just don't execute "make install") to # not install gsm and toast outside of this directory. ! INSTALL_ROOT = $(PREFIX) # Where do you want to install the gsm library, header file, and manpages? # *************** *** 80,86 **** 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 --- 84,90 ---- GSM_INSTALL_ROOT = $(INSTALL_ROOT) GSM_INSTALL_LIB = $(GSM_INSTALL_ROOT)/lib ! GSM_INSTALL_INC = $(GSM_INSTALL_ROOT)/include GSM_INSTALL_MAN = $(GSM_INSTALL_ROOT)/man/man3 *************** *** 129,141 **** # DEBUG = -DNDEBUG ######### Remove -DNDEBUG to enable assertions. ! CFLAGS = $(CCFLAGS) $(SASR) $(DEBUG) $(MULHACK) $(FAST) $(LTP_CUT) \ $(WAV49) $(CCINC) -I$(INC) ######### It's $(CC) $(CFLAGS) LFLAGS = $(LDFLAGS) $(LDINC) ######### It's $(LD) $(LFLAGS) # Targets --- 133,146 ---- # DEBUG = -DNDEBUG ######### Remove -DNDEBUG to enable assertions. ! 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 *************** *** 258,263 **** --- 263,269 ---- GSM_INSTALL_TARGETS = \ $(GSM_INSTALL_LIB)/libgsm.a \ + $(GSM_INSTALL_LIB)/libgsm.so.1.0.10 \ $(GSM_INSTALL_INC)/gsm.h \ $(GSM_INSTALL_MAN)/gsm.3 \ $(GSM_INSTALL_MAN)/gsm_explode.3 \ *************** *** 277,285 **** $(CC) $(CFLAGS) $? @-mv `$(BASENAME) $@` $@ > /dev/null 2>&1 # Target rules ! all: $(LIBGSM) $(TOAST) $(TCAT) $(UNTOAST) @-echo $(ROOT): Done. tst: $(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/test-result --- 283,294 ---- $(CC) $(CFLAGS) $? @-mv `$(BASENAME) $@` $@ > /dev/null 2>&1 + .c.so: + ${CC} -fpic -DPIC ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} + # Target rules ! all: $(LIBGSM) $(LIB)/libgsm.so.1.0.10 $(TOAST) $(TCAT) $(UNTOAST) @-echo $(ROOT): Done. tst: $(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/test-result *************** *** 299,304 **** --- 308,316 ---- # The basic API: libgsm + $(LIB)/libgsm.so.1.0.10: $(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,314 **** # Toast, Untoast and Tcat -- the compress-like frontends to gsm. $(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSM) ! $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSM) $(LDLIB) $(UNTOAST): $(BIN) $(TOAST) -rm $(RMFLAGS) $(UNTOAST) --- 320,326 ---- # Toast, Untoast and Tcat -- the compress-like frontends to gsm. $(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSM) ! $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) -lgsm $(LDLIB) $(UNTOAST): $(BIN) $(TOAST) -rm $(RMFLAGS) $(UNTOAST) *************** *** 394,399 **** --- 406,417 ---- chmod 444 $@ $(GSM_INSTALL_LIB)/libgsm.a: $(LIBGSM) + -rm $@ + cp $? $@ + chmod 444 $@ + ranlib $@ + + $(GSM_INSTALL_LIB)/libgsm.so.1.0.10: $(LIB)/libgsm.so.1.0.10 -rm $@ cp $? $@ chmod 444 $@