| @@ -19,6 +19,16 @@ NATIVE = -m$(ARCH) -DTCC_TARGET_I386 · 18 unmodified lines |
| 19 | 19 | PREFIX = i386 |
| 20 | 20 | endif |
| 21 | 21 | |
| 22 | +TARGET = $(ARCH) |
| 23 | + |
| 24 | +ifeq ($(TARGET), 64) |
| 25 | +TFLAGS = -m$(TARGET) -DTCC_TARGET_X86_64 |
| 26 | +TPREFIX = x86_64 |
| 27 | +else |
| 28 | +TFLAGS = -m$(TARGET) -DTCC_TARGET_I386 |
| 29 | +TPREFIX = i386 |
| 30 | +endif |
| 31 | + |
| 22 | 32 | all: pre bootstrap libs rebuild |
| 23 | 33 | @chmod 775 *.exe |
| 24 | 34 | @ls -ls *.exe |
| @@ -70,7 +80,7 @@ lib/32/libtcc1.a: tiny_libmaker32.exe · 45 unmodified lines |
| 70 | 80 | @./tiny_libmaker32 lib/32/libtcc1.a libtcc1.o alloca86.o alloca86-bt.o crt1.o wincrt1.o dllcrt1.o dllmain.o chkstk.o |
| 71 | 81 | @rm *.o |
| 72 | 82 | |
| 73 | | −lib/64/libtcc1.a: tcc.exe tiny_libmaker64.exe |
| 83 | +lib/64/libtcc1.a: tiny_libmaker64.exe |
| 74 | 84 | @echo Building $*.a with tcc -m64 |
| 75 | 85 | @./tcc -m64 -DTCC_TARGET_PE -DTCC_TARGET_X86_64 -c ../lib/libtcc1.c |
| 76 | 86 | @./tcc -m64 -DTCC_TARGET_PE -DTCC_TARGET_X86_64 -c ../lib/alloca86_64.S |
| @@ -88,14 +98,14 @@ libs: lib/32/libtcc1.a lib/64/libtcc1.a · 11 unmodified lines |
| 88 | 98 | PHONY += libs |
| 89 | 99 | |
| 90 | 100 | rebuild: |
| 91 | | − @echo Rebuild using tcc itself - default $(ARCH)bits |
| 92 | | − @./$(PREFIX)-win32-tcc $(NATIVE) -DTCC_TARGET_PE -DONE_SOURCE -o tcc.exe ../tcc.c libtcc.dll |
| 93 | | − @./$(PREFIX)-win32-tcc $(NATIVE) -DTCC_TARGET_PE -DONE_SOURCE -o tiny_libmaker.exe tools/tiny_libmaker.c |
| 94 | | − @./tcc $(NATIVE) -DTCC_TARGET_PE -DONE_SOURCE -DLIBTCC_AS_DLL -o libtcc.dll -shared ../libtcc.c |
| 95 | | − @./tcc -m$(ARCH) -DTCC_TARGET_PE -DONE_SOURCE -DTCC_TARGET_I386 -o tmp-tcc.exe ../tcc.c && mv tmp-tcc.exe i386-win32-tcc.exe |
| 96 | | − @./tcc -m$(ARCH) -DTCC_TARGET_PE -DONE_SOURCE -DTCC_TARGET_X86_64 -o tmp-tcc.exe ../tcc.c && mv tmp-tcc.exe x86_64-win32-tcc.exe |
| 97 | | − @./tcc -m$(ARCH) -DTCC_TARGET_PE -DONE_SOURCE -DTCC_TARGET_I386 -o tiny_libmaker32.exe tools/tiny_libmaker.c |
| 98 | | − @./tcc -m$(ARCH) -DTCC_TARGET_PE -DONE_SOURCE -DTCC_TARGET_X86_64 -o tiny_libmaker64.exe tools/tiny_libmaker.c |
| 101 | + @echo Rebuild using tcc itself - default $(TARGET)bits |
| 102 | + @./$(TPREFIX)-win32-tcc $(TFLAGS) -DTCC_TARGET_PE -DONE_SOURCE -o tcc.exe ../tcc.c |
| 103 | + @./$(TPREFIX)-win32-tcc $(TFLAGS) -DTCC_TARGET_PE -DONE_SOURCE -o tiny_libmaker.exe tools/tiny_libmaker.c |
| 104 | + @./tcc $(TFLAGS) -DTCC_TARGET_PE -DONE_SOURCE -DLIBTCC_AS_DLL -o libtcc.dll -shared ../libtcc.c |
| 105 | + @./tcc -m$(TARGET) -DTCC_TARGET_PE -DONE_SOURCE -DTCC_TARGET_I386 -o tmp-tcc.exe ../tcc.c && mv tmp-tcc.exe i386-win32-tcc.exe |
| 106 | + @./tcc -m$(TARGET) -DTCC_TARGET_PE -DONE_SOURCE -DTCC_TARGET_X86_64 -o tmp-tcc.exe ../tcc.c && mv tmp-tcc.exe x86_64-win32-tcc.exe |
| 107 | + @./tcc -m$(TARGET) -DTCC_TARGET_PE -DONE_SOURCE -DTCC_TARGET_I386 -o tiny_libmaker32.exe tools/tiny_libmaker.c |
| 108 | + @./tcc -m$(TARGET) -DTCC_TARGET_PE -DONE_SOURCE -DTCC_TARGET_X86_64 -o tiny_libmaker64.exe tools/tiny_libmaker.c |
| 99 | 109 | |
| 100 | 110 | PHONY += rebuild |
| 101 | 111 | |
| @@ -110,7 +120,6 @@ tarball: · 8 unmodified lines |
| 110 | 120 | @cp -r lib $(TARNAME) |
| 111 | 121 | @cp -r libtcc $(TARNAME) |
| 112 | 122 | @cp -r tools $(TARNAME) |
| 113 | | −# @cp -r vs2015 $(TARNAME) |
| 114 | 123 | @cp -r build-tcc.bat $(TARNAME) |
| 115 | 124 | @cp -r i386-win32-tcc.exe $(TARNAME) |
| 116 | 125 | @cp -r libtcc.def $(TARNAME) |
| @@ -128,4 +137,4 @@ tarball: · 11 unmodified lines |
| 128 | 137 | PHONY += tarball |
| 129 | 138 | |
| 130 | 139 | clean: |
| 131 | | − rm -f *.o *.exe *.dll lib/*/*.a |
| 140 | + rm -f *.o *.exe *.dll lib/*/*.a *.pdb *.obj *.exp *.def *.lib |