diff --git a/Makefile b/Makefile index f46c948..b7fad6f 100644 --- a/Makefile +++ b/Makefile @@ -48,7 +48,7 @@ PG = # CCFLAGS = -c -O CC = gcc -ansi -pedantic -CCFLAGS = -c $(RPM_OPT_FLAGS) -D_REENTRANT -DNeedFunctionPrototypes=1 +CCFLAGS = -c -DNeedFunctionPrototypes=1 LD = $(CC) @@ -68,6 +68,8 @@ LD = $(CC) # LDLIB = -lgcc ######### Additional libraries needed by $(LD) +EXEEXT = .exe + # Where do you want to install libraries, binaries, a header file # and the manual pages? @@ -133,22 +135,22 @@ INC = $(ROOT)/inc # DEBUG = -DNDEBUG ######### Remove -DNDEBUG to enable assertions. -CFLAGS = $(PG) $(CCFLAGS) $(SASR) $(DEBUG) $(MULHACK) $(FAST) $(LTP_CUT) \ - $(WAV49) $(CCINC) -I$(INC) +CFLAGS = $(CCFLAGS) $(SASR) $(DEBUG) $(MULHACK) $(FAST) $(LTP_CUT) \ + $(WAV49) $(CCINC) -I$(INC) $(RPM_CFLAGS) ######### It's $(CC) $(CFLAGS) -LFLAGS = $(PG) $(LDFLAGS) $(LDINC) +LFLAGS = $(LDFLAGS) $(LDINC) $(RPM_LDFLAGS) ######### It's $(LD) $(LFLAGS) # Targets LIBGSM = $(LIB)/libgsm.a -LIBGSMSO = $(LIB)/libgsm.so +LIBGSMSO = $(BIN)/libgsm-1.dll -TOAST = $(BIN)/toast -UNTOAST = $(BIN)/untoast -TCAT = $(BIN)/tcat +TOAST = $(BIN)/toast$(EXEEXT) +UNTOAST = $(BIN)/untoast$(EXEEXT) +TCAT = $(BIN)/tcat$(EXEEXT) # Headers @@ -262,6 +264,8 @@ STUFF = ChangeLog \ # Install targets GSM_INSTALL_TARGETS = \ + $(GSM_INSTALL_BIN)/libgsm-1.dll \ + $(GSM_INSTALL_LIB)/libgsm.dll.a \ $(GSM_INSTALL_LIB)/libgsm.a \ $(GSM_INSTALL_INC)/gsm.h \ $(GSM_INSTALL_MAN)/gsm.3 \ @@ -270,9 +274,9 @@ GSM_INSTALL_TARGETS = \ $(GSM_INSTALL_MAN)/gsm_print.3 TOAST_INSTALL_TARGETS = \ - $(TOAST_INSTALL_BIN)/toast \ - $(TOAST_INSTALL_BIN)/tcat \ - $(TOAST_INSTALL_BIN)/untoast \ + $(TOAST_INSTALL_BIN)/toast$(EXEEXT) \ + $(TOAST_INSTALL_BIN)/tcat$(EXEEXT) \ + $(TOAST_INSTALL_BIN)/untoast$(EXEEXT) \ $(TOAST_INSTALL_MAN)/toast.1 @@ -304,10 +308,8 @@ install: toastinstall gsminstall # The basic API: libgsm -$(LIBGSMSO): $(LIB) $(GSM_OBJECTS) - $(LD) -o $@.1.0.12 -shared -Xlinker -soname -Xlinker libgsm.so.1 $(GSM_OBJECTS) -lc - ln -fs libgsm.so.1.0.12 lib/libgsm.so.1 - ln -fs libgsm.so.1.0.12 lib/libgsm.so +$(LIBGSMSO) $(LIB)/libgsm.dll.a: $(LIB) $(GSM_OBJECTS) + $(LD) $(LDFLAGS) $(LIBS) $(GSM_OBJECTS) -shared -Xlinker -soname -Xlinker libgsm-1.dll -o $(LIBGSMSO) -Wl,--out-implib=$(LIB)/libgsm.dll.a $(LIBGSM): $(LIB) $(GSM_OBJECTS) -rm $(RMFLAGS) $(LIBGSM) @@ -359,16 +361,16 @@ toastuninstall: rm $(RMFLAGS) $(TOAST_INSTALL_TARGETS); \ fi -$(TOAST_INSTALL_BIN)/toast: $(TOAST) +$(TOAST_INSTALL_BIN)/toast$(EXEEXT): $(TOAST) -rm $@ cp $(TOAST) $@ chmod 755 $@ -$(TOAST_INSTALL_BIN)/untoast: $(TOAST_INSTALL_BIN)/toast +$(TOAST_INSTALL_BIN)/untoast$(EXEEXT): $(TOAST_INSTALL_BIN)/toast$(EXEEXT) -rm $@ ln $? $@ -$(TOAST_INSTALL_BIN)/tcat: $(TOAST_INSTALL_BIN)/toast +$(TOAST_INSTALL_BIN)/tcat$(EXEEXT): $(TOAST_INSTALL_BIN)/toast$(EXEEXT) -rm $@ ln $? $@ @@ -400,12 +402,22 @@ $(GSM_INSTALL_MAN)/gsm_print.3: $(MAN)/gsm_print.3 $(GSM_INSTALL_INC)/gsm.h: $(INC)/gsm.h -rm $@ cp $? $@ - chmod 444 $@ + chmod 644 $@ + +$(GSM_INSTALL_BIN)/libgsm-1.dll: $(LIBGSMSO) + -rm $@ + cp $? $@ + chmod 0755 $@ $(GSM_INSTALL_LIB)/libgsm.a: $(LIBGSM) -rm $@ cp $? $@ - chmod 444 $@ + chmod 644 $@ + +$(GSM_INSTALL_LIB)/libgsm.dll.a: $(LIB)/libgsm.dll.a + -rm $@ + cp $? $@ + chmod 644 $@ # Distribution diff --git a/inc/config.h b/inc/config.h index dfb1ead..d6295bd 100644 --- a/inc/config.h +++ b/inc/config.h @@ -18,10 +18,7 @@ #define HAS_ERRNO_DECL 1 /* errno.h declares errno */ #define HAS_FSTAT 1 /* fstat syscall */ -#define HAS_FCHMOD 1 /* fchmod syscall */ #define HAS_CHMOD 1 /* chmod syscall */ -#define HAS_FCHOWN 1 /* fchown syscall */ -#define HAS_CHOWN 1 /* chown syscall */ /*efine HAS__FSETMODE 1 /* _fsetmode -- set file mode */ #define HAS_STRING_H 1 /* /usr/include/string.h */