Return to Makefile CVS log | Up to [Local Repository] / imach / src |
Compiling for Windows on Linux
1: VERSION=0.98k 2: COPYRIGHT=Copyright (C) 2002-2009 INED-EUROREVES-Institut de longévité 3: IMACHSETUPVERSION=1 4: 5: # make _linux=1 imachopt 6: # make _linux=1 imach 7: 8: # make _macosx=1 imach 9: # make _macosx=1 imachdmg 10: 11: # Windows 12: # make _windows=1 imachcyg 13: # make _windows=1 imachcyg-setup (touch setup.iss.in) 14: # make _windows=1 imachcyg-noreg-setup 15: # sortie dans Output/setup.exe 16: # ln -s /cygdrive/c/Program\ Files/Inno\ Setup\ 4/Compil32.exe /usr/local/bin/Compil32 17: ##SETUPCOMP= "C:\Program Files\Inno Setup 3\Compil32.exe" 18: 19: #CC= gcc -v 20: CC=$(GCC) 21: GCC= gcc 22: 23: ifdef _macosx 24: # Mac OS/X version 25: LFLAGS= -O3 -lm -DUNIX 26: CFLAGS= -O3 -DUNIX 27: UNIX2DOS= echo "Unix2dos " 28: # Don'know how to launch imach098.pmsp in batch to create package file imach098Panther.pkg 29: # ./createdmg.sh imach imach098panther ./imach098Panther 30: # ./createdmg.sh imach imach098leopard ./imach098Leopard 31: # and directory ./imach098Panther contains package file imach098Panther.pkg 32: #./create-dmg --window-size 500 300 --background ~/Projects/eclipse-osx-repackager/build/background.gif --icon-size 96 --volname "Hyper Foo" --icon "Applications" 380 205 --icon "Eclipse OS X Repackager" 110 205 test2.dmg /Users/andreyvit/Projects/eclipse-osx-repackager/temp/Eclipse\ OS\ X\ Repackager\ r10/ 33: # ./create-dmg --volname "IMaCh 0.98j" imach098j.dmg imach098Leopard 34: endif 35: 36: ifdef _windows 37: # Windows cygwin version 38: LFLAGS= -g -mno-cygwin 39: CFLAGS= -g -mno-cygwin 40: LFLAGSOPT= -O3 -mno-cygwin 41: CFLAGSOPT= -O3 -mno-cygwin 42: UNIX2DOS= unix2dos 43: SETUPCOMP= Compil32 44: ##SETUPCOMP=start /wait "C:\Program\ Files\\Compil32.exe" 45: ##SETUPCOMP= "C:\Program Files\Inno Setup 4\Compil32.exe" 46: endif 47: 48: ifdef _windowsonlinux 49: GCC=/usr/bin/i586-pc-mingw32-gcc 50: LFLAGS= -g 51: CFLAGS= -g 52: LFLAGSOPT= -O3 53: CFLAGSOPT= -O3 54: UNIX2DOS= unix2dos 55: SETUPCOMP= wine "C:////Program Files////Inno Setup 4////Compil32.exe" 56: endif 57: 58: ifdef _linux 59: #CFLAGS= -g -DUNIX -DDEBUGHESS 60: CFLAGS= -g -DUNIX 61: LFLAGS= -g -lm 62: LGSL= -lgsl -lgslcblas 63: CFLAGSOPT= -O3 -DUNIX 64: LFLAGSOPT= -O3 -lm 65: UNIX2DOS= unix2dos 66: SETUPCOMP= wine "C:////Program Files////Inno Setup 4////Compil32.exe" 67: endif 68: 69: SED= sed 70: PACKAGE=imach 71: PROGRAM=IMaCh 72: 73: 74: 75: TMPSETUPSCRIPT=setup.iss 76: TMPNOREGSETUPSCRIPT=noreg-setup.iss 77: TMPSCRIPTIN=setup.iss.in 78: APPLICATION=IMaCh 79: APPNAME=$(APPLICATION)-$(VERSION) 80: GNUPLOTVERSION=4.0 81: LICENSE=Copying 82: TMPSETUPEXE=imach-$(VERSION)-$(IMACHSETUPVERSION)-setup.exe 83: LICENSEFILE=$(LICENSE) 84: INFOBEFOREFILE=README.txt 85: 86: $(TMPSETUPSCRIPT): $(TMPSCRIPTIN) 87: $(SED) -e "s/@APPNAME@/$(APPNAME)/g; \ 88: s/@NOTINNOREG@//g; \ 89: s/@NOREG@//g; \ 90: s/@IMACHSETUPVERSION@/$(IMACHSETUPVERSION)/g; \ 91: s/@VERSION@/$(VERSION)/g; \ 92: s/@GNUPLOTVERSION@/$(GNUPLOTVERSION)/g; \ 93: s/@INFOBEFOREFILE@/$(INFOBEFOREFILE)/g; \ 94: s/@LICENSEFILE@/$(LICENSEFILE)/g; \ 95: s/@PACKAGE@/$(PACKAGE)/g; \ 96: s/@DICTLANG@/$(DICTLANG)/g; \ 97: s/@VERMAJOR@/$(VERMAJOR)/g; \ 98: s/@COPYRIGHT@/$(COPYRIGHT)/g;" \ 99: $(TMPSCRIPTIN) > $(TMPSETUPSCRIPT) 100: $(UNIX2DOS) $(TMPSETUPSCRIPT) 101: 102: $(TMPNOREGSETUPSCRIPT): $(TMPSCRIPTIN) 103: $(SED) -e "s/@APPNAME@/$(APPNAME)/g; \ 104: s/@NOTINNOREG@/\\;/g; \ 105: s/@NOREG@/noreg-/g; \ 106: s/@IMACHSETUPVERSION@/$(IMACHSETUPVERSION)/g; \ 107: s/@VERSION@/$(VERSION)/g; \ 108: s/@GNUPLOTVERSION@/$(GNUPLOTVERSION)/g; \ 109: s/@INFOBEFOREFILE@/$(INFOBEFOREFILE)/g; \ 110: s/@LICENSEFILE@/$(LICENSEFILE)/g; \ 111: s/@PACKAGE@/$(PACKAGE)/g; \ 112: s/@DICTLANG@/$(DICTLANG)/g; \ 113: s/@VERMAJOR@/$(VERMAJOR)/g; \ 114: s/@COPYRIGHT@/$(COPYRIGHT)/g;" \ 115: $(TMPSCRIPTIN) > $(TMPNOREGSETUPSCRIPT) 116: $(UNIX2DOS) $(TMPNOREGSETUPSCRIPT) 117: 118: $(TMPSETUPEXE): $(TMPSETUPSCRIPT) 119: $(SETUPCOMP) /cc $(TMPSETUPSCRIPT) 120: 121: $(TMPNOREGSETUPEXE): $(TMPNOREGSETUPSCRIPT) 122: $(SETUPCOMP) /cc $(TMPNOREGSETUPSCRIPT) 123: 124: PARAM=mypar1 125: 126: imachcyg-setup: imachcygopt.exe setup.iss 127: cp imachcygopt.exe imach.exe 128: $(SETUPCOMP) /cc $(TMPSETUPSCRIPT) 129: 130: # imachcyg-noreg-setup : imachcygopt imachcygopt.o setup.iss.in noreg-setup.iss $(TMPNOREGSETUPEXE) 131: imachcyg-noreg-setup: imachcygopt.exe noreg-setup.iss 132: cp imachcygopt.exe imach.exe 133: $(SETUPCOMP) /cc $(TMPNOREGSETUPSCRIPT) 134: 135: simach : simach.o 136: $(CC) $(LFLAGS) $(LGSL) -o simach simach.o 137: simach.o : simach.c 138: $(CC) $(CFLAGS) -c simach.c 139: 140: imach : imach.o 141: $(CC) $(LFLAGS) -o imach imach.o 142: imach.o : imach.c 143: $(CC) $(CFLAGS) -c imach.c 144: 145: imachopt : imachopt.o 146: $(CC) $(LFLAGSOPT) -o imachopt imachopt.o 147: ln -f imachopt imach 148: imachopt.o : imach.c 149: $(CC) $(CFLAGSOPT) -o imachopt.o -c imach.c 150: 151: imachdmg : imachopt.o create-dmg 152: $(CC) $(LFLAGSOPT) -o imach imachopt.o 153: cp imach imach098Leopard/bin 154: ./create-dmg --volname "IMaCh $(VERSION)" imach$(VERSION).dmg imach098Leopard 155: 156: 157: imachcyg : imachcyg.o strsep.o 158: $(CC) $(LFLAGS) -o imach imachcyg.o strsep.o 159: imachcyg.o : imach.c 160: $(CC) $(CFLAGS) -c -o imachcyg.o imach.c 161: imachcygopt.exe : imachcygopt.o strsep.o 162: $(CC) $(LFLAGSOPT) -o imachcygopt.exe imachcygopt.o strsep.o 163: imachcygopt.o : imach.c 164: $(CC) $(CFLAGSOPT) -c -o imachcygopt.o imach.c 165: strsep.o : strsep.c 166: $(CC) $(CFLAGSOPT) -c -o strsep.o strsep.c 167: 168: imachw32.o : imach.c 169: i386-mingw32-gcc -c imach.c -o imachw32.o 170: imach.exe : imachw32.o 171: i386-mingw32-gcc -mwindows -o imach.exe -lm imachw32.o 172: i386-mingw32-strip imach.exe 173: 174: 175: $(PARAM).htm: imach $(PARAM).imach data1.txt 176: ./imach $(PARAM).imach 177: 178: clean: 179: rm or$(PARAM).txt er$(PARAM).txt pijr$(PARAM).txt plr$(PARAM).txt \ 180: r$(PARAM).txt tr$(PARAM).txt vpl$(PARAM).txt pr$(PARAM).txt \ 181: vr$(PARAM).txt *.gif imach.exe imach.o 182: 183: