home *** CD-ROM | disk | FTP | other *** search
/ Large Pack of OldSkool DOS MOD Trackers / goattracker_2.73.zip / src / makefile.xmingw32 < prev    next >
Makefile  |  2014-07-23  |  3KB  |  89 lines

  1. # makefile for win32 cross compilation on linux
  2.  
  3. PREFIX=../win32/
  4. SUFFIX=.exe
  5. LIBS=-lmingw32 -lSDLmain -lSDL -mwindows -static-libstdc++ -static-libgcc
  6. RM=rm -f
  7.  
  8. MINGW32PREFIX=~/mingw32
  9. # MINGW32PREFIX=/usr/bin
  10.  
  11. CC=$(MINGW32PREFIX)/bin/mingw32-gcc
  12. CXX=$(MINGW32PREFIX)/bin/mingw32-g++
  13. WINDRES=$(MINGW32PREFIX)/bin/mingw32-windres
  14. CFLAGS+=-O3 -Wall -Ibme -Iasm
  15. CXXFLAGS=$(CFLAGS)
  16.  
  17. EXE=    $(PREFIX)goattrk2$(SUFFIX) \
  18.     $(PREFIX)gt2reloc$(SUFFIX) \
  19.     $(PREFIX)ins2snd2$(SUFFIX) \
  20.     $(PREFIX)sngspli2$(SUFFIX) \
  21.     $(PREFIX)betaconv$(SUFFIX) \
  22.     $(PREFIX)mod2sng$(SUFFIX)
  23.  
  24. all: $(EXE)
  25.  
  26. $(PREFIX)goattrk2$(SUFFIX): goatdata.o goattrk2.o gsong.o gorder.o gpattern.o ginstr.o gtable.o gplay.o gdisplay.o \
  27. gfile.o greloc.o ghelp.o gsound.o gconsole.o gsid.o \
  28. resid/envelope.o resid/extfilt.o resid/filter.o resid/pot.o resid/sid.o resid/wave.o resid/wave6581__ST.o \
  29. resid/wave6581_P_T.o resid/wave6581_PS_.o resid/wave6581_PST.o resid/wave8580__ST.o resid/wave8580_P_T.o \
  30. resid/wave8580_PS_.o resid/wave8580_PST.o resid/voice.o \
  31. resid-fp/envelopefp.o resid-fp/extfiltfp.o resid-fp/filterfp.o resid-fp/potfp.o resid-fp/sidfp.o \
  32. resid-fp/wavefp.o resid-fp/voicefp.o \
  33. asm/asmtab.o asm/chnkpool.o asm/expr.o asm/lexyy.o asm/log.o asm/membuf.o asm/membufio.o asm/namedbuf.o asm/parse.o \
  34. asm/pc.o asm/vec.o \
  35. bme/bme_gfx.o bme/bme_snd.o bme/bme_win.o bme/bme_mou.o bme/bme_kbd.o bme/bme_io.o bme/bme_end.o bme/bme.o
  36.     $(WINDRES) goattrk2.rc goaticon.o
  37.     $(CXX) -o $@ $^ goaticon.o $(LIBS)
  38.     strip $@
  39.  
  40. # this compiles a seperate version of the relocator/packer that doesnt use the
  41. # SDL interface
  42. greloc2.o: greloc.c
  43.     $(CC) $(CFLAGS) -DGT2RELOC -c -o greloc2.o greloc.c
  44.     
  45. # it would be nice not having to link things like resid, however the source is
  46. # not ready for that
  47. $(PREFIX)gt2reloc$(SUFFIX): goatdata.o gt2reloc.o gsong.o gorder.o gpattern.o ginstr.o gtable.o gplay.o gdisplay.o \
  48. gfile.o greloc2.o ghelp.o gsound.o gconsole.o gsid.o \
  49. resid/envelope.o resid/extfilt.o resid/filter.o resid/pot.o resid/sid.o resid/wave.o resid/wave6581__ST.o \
  50. resid/wave6581_P_T.o resid/wave6581_PS_.o resid/wave6581_PST.o resid/wave8580__ST.o resid/wave8580_P_T.o \
  51. resid/wave8580_PS_.o resid/wave8580_PST.o resid/voice.o \
  52. resid-fp/envelopefp.o resid-fp/extfiltfp.o resid-fp/filterfp.o resid-fp/potfp.o resid-fp/sidfp.o \
  53. resid-fp/wavefp.o resid-fp/voicefp.o \
  54. asm/asmtab.o asm/chnkpool.o asm/expr.o asm/lexyy.o asm/log.o asm/membuf.o asm/membufio.o asm/namedbuf.o asm/parse.o \
  55. asm/pc.o asm/vec.o \
  56. bme/bme_gfx.o bme/bme_snd.o bme/bme_win.o bme/bme_mou.o bme/bme_kbd.o bme/bme_io.o bme/bme_end.o bme/bme.o
  57.     $(CXX) -DGT2RELOC -o $@ $^ $(LIBS)
  58.     strip $@
  59.     
  60. $(PREFIX)mod2sng$(SUFFIX): mod2sng.o bme/bme_end.o
  61.     $(CC) -o $@ $^
  62.     strip $@
  63.  
  64. $(PREFIX)ins2snd2$(SUFFIX): ins2snd2.o bme/bme_end.o
  65.     $(CC) -o $@ $^
  66.     strip $@
  67.  
  68. $(PREFIX)sngspli2$(SUFFIX): sngspli2.o bme/bme_end.o
  69.     $(CC) -o $@ $^
  70.     strip $@
  71.  
  72. $(PREFIX)betaconv$(SUFFIX): betaconv.o bme/bme_end.o
  73.     $(CC) -o $@ $^
  74.     strip $@
  75.  
  76. goattrk2.dat: player.s altplayer.s chargen.bin palette.bin cursor.bin goattrk2.bmp goattrk2.seq
  77.     datafile $@ goattrk2.seq
  78.  
  79. goatdata.c: goattrk2.dat
  80.     dat2inc $< $@
  81.  
  82. clean:
  83.     $(RM) *.o *~
  84.     $(RM) asm/*.o
  85.     $(RM) bme/*.o
  86.     $(RM) resid/*.o
  87.     $(RM) resid-fp/*.o
  88.     $(RM) $(EXE)
  89.