Rev 4389 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
.SUFFIXES: .c .f .o .a .def .exp .dll .exe# Alternatives CYGWIN (-B20.1), EGCS (-1.1.x-mingw32), CROSS (my Linux Box)BUILD=EGCSifeq ($(strip $(BUILD)),CYGWIN)BINPREF=# HEADER=e:/cygwin-b20/H-i586-cygwin32/i586-cygwin32/include/mingw32# Cygwin B20 (not B20.1) needs# MINGW32CFLAG= -mno-cygwin -isystem $(HEADER) -DWIN32MINGW32CFLAG= -mno-cygwin -DWIN32MINGW32LDFLAG= -mno-cygwinFLIBS=-lg2c.mingw32AWK=gawkendififeq ($(strip $(BUILD)),EGCS)BINPREF=MINGW32FLAG=MINGW32LDFLAG=FLIBS=-lg2cAWK=gawkendififeq ($(strip $(BUILD)),CROSS)BINPREF=i386-mingw32-HEADER=/home/guido/mingw32/i386-mingw32/includeHEADER=/home/markov/ripley/R-X/i386-mingw32/includeMINGW32CFLAG=-isystem $(HEADER)MINGW32LDFLAG=FLIBS=-lg2cAWK=awkendifPERL=perlRM=rm -fSED=sedECHO=echoCP=cpMKDIR=mkdirCAT=catCC=$(BINPREF)gcc $(MINGW32CFLAG)F77=$(BINPREF)g77AS=$(BINPREF)asDLL=$(BINPREF)gcc $(MINGW32LDFLAG) -mdllDLLTOOL=$(BINPREF)dlltool -k --as $(AS)LINKER=$(BINPREF)gcc $(MINGW32LDFLAG)AR=$(BINPREF)arRANLIB=$(BINPREF)ranlibNM=$(BINPREF)nmCPP=$(CC) -ERESCOMP=$(BINPREF)windres.c.o:$(CC) $(CFLAGS) $($*-CFLAGS) -c $< -o $@.f.o:$(F77) $(FFLAGS) $($*-FFLAGS) -c $< -o $@%.exe %.exp:@$(ECHO) -------- Building $@ from $^ --------$(ECHO) EXPORTS > $*.exp$(NM) $^ | $(SED) -n "/^........ [BCDRT] _/s/^........ [BCDRT] _/ /p" >> $*.exp$(DLLTOOL) --dllname $@ --output-exp $*.e --def $*.exp$(LINKER) $(LINKFLAGS) $($*-LINKFLAGS) -o $@ -Wl,--base-file,$*.b $*.e $^ $($*-LIBS) $(LIBS)$(DLLTOOL) --dllname $@ --base-file $*.b --output-exp $*.e --def $*.exp$(LINKER) $(LINKFLAGS) $($*-LINKFLAGS) -o $@ $*.e $^ $($*-LIBS) $(LIBS)rm $*.e $*.b%.dll %.def:@$(ECHO) ------- Building $@ from $^ --------$(ECHO) LIBRARY $* > $*.def$(ECHO) EXPORTS >> $*.def$(NM) $^ > Defs$(SED) -n "/^........ [BCDRT] _/s/^........ [BCDRT] _/ /p" Defs >> $*.def$(DLL) -Wl,--base-file,$*.b $(DLLFLAGS) $($*-DLLFLAGS) -o $@ $^ $($*-DLLLIBS) $(DLLLIBS)$(DLLTOOL) $(DLLTOOLFLAGS) $($*-DLLTOOLFLAGS) --dllname $@ --base-file $*.b --output-exp $*.e --def $*.def$(DLL) -Wl,--base-file,$*.b $(DLLFLAGS) $($*-DLLFLAGS) -o $@ $*.e $^ $($*-DLLLIBS) $(DLLLIBS)$(DLLTOOL) $(DLLTOOLFLAGS) $($*-DLLTOOLFLAGS) --dllname $@ --base-file $*.b --output-exp $*.e --def $*.def$(DLL) $(DLLFLAGS) $($*-DLLFLAGS) -o $@ $*.e $^ $($*-DLLLIBS) $(DLLLIBS)$(RM) $*.b $*.e Defslib%.a: %.def@$(ECHO) -------- Building $@ from $^ --------$(DLLTOOL) $(DLLTOOLFLAGS) $($*-DLLTOOLFLAGS) --dllname $*.dll --def $*.def --output-lib lib$*.alib%.a: %.exp@$(ECHO) -------- Building $@ from $^ --------$(DLLTOOL) $(DLLTOOLFLAGS) $($*-DLLTOOLFLAGS) --dllname $*.exe --def $*.exp --output-lib lib$*.a%.a:@$(ECHO) -------- Building $@ from $^ --------$(AR) cr $@ $^$(RANLIB) $@%.o: %.rc$(RESCOMP) $(RESFLAGS) $($*-RESFLAGS) -i $^ -o $@