Unified · Split
| @@ -204,7 +204,7 @@ VPATH+=lib · 203 unmodified lines | |||
| 204 | WINDLLS=$(LIBTCC1_DIR)/crt1.o $(LIBTCC1_DIR)/wincrt1.o $(LIBTCC1_DIR)/dllcrt1.o $(LIBTCC1_DIR)/dllmain.o | 204 | WINDLLS=$(LIBTCC1_DIR)/crt1.o $(LIBTCC1_DIR)/wincrt1.o $(LIBTCC1_DIR)/dllcrt1.o $(LIBTCC1_DIR)/dllmain.o |
| 205 | ifdef CONFIG_WIN32 | 205 | ifdef CONFIG_WIN32 |
| 206 | # for windows, we must use TCC because we generate ELF objects | 206 | # for windows, we must use TCC because we generate ELF objects |
| 207 | LIBTCC1_OBJS+=$(WINDLLS) $(LIBTCC1_DIR)/chkstk.o $(LIBTCC1_DIR)/bcheck.o | 207 | LIBTCC1_OBJS+=$(WINDLLS) $(BCHECK_O) |
| 208 | LIBTCC1_CC=./$(TCC)$(EXESUF) -B. -Iinclude $(NATIVE_DEFINES) | 208 | LIBTCC1_CC=./$(TCC)$(EXESUF) -B. -Iinclude $(NATIVE_DEFINES) |
| 209 | VPATH+=win32/lib | 209 | VPATH+=win32/lib |
| 210 | endif | 210 | endif |
| @@ -228,19 +228,26 @@ $(LIBTCC1_DIR)/libtcc1.a: $(LIBTCC1_OBJS) · 17 unmodified lines | |||
| 228 | $(RM) $^ | 228 | $(RM) $^ |
| 229 | 229 | ||
| 230 | #recursively build cross-compiler lib archives for each arch | 230 | #recursively build cross-compiler lib archives for each arch |
| 231 | win32: $(TCC)$(EXESUF) $(I386_CROSS) | 231 | win32: $(TCC)$(EXESUF) $(WIN64_CROSS) |
| 232 | #testing: bleeding: cross-cross (./configure --enable-mingw32 --enable-cross) | ||
| 233 | #fixme: The windows exe cross-compilers still use Linux libc | ||
| 234 | #fixme: thus cygwin or some such needed to even run them on Windows | ||
| 232 | $(MAKE) CC=./$(I386_CROSS) ARCH=i386 LIBTCC1_DIR=lib lib/libtcc1.a | 235 | $(MAKE) CC=./$(I386_CROSS) ARCH=i386 LIBTCC1_DIR=lib lib/libtcc1.a |
| 233 | $(MAKE) CC=./$(X64_CROSS) LIBTCC1_DIR=lib64 ARCH=x86-64 lib64/libtcc1.a \ | 236 | $(MAKE) CC=./$(X64_CROSS) LIBTCC1_DIR=lib64 \ |
| 234 | LIBTCC1_OBJS="lib/libtcc1.o alloca86_64.o" | 237 | ARCH=x86-64 LIBTCC1_OBJS="lib/libtcc1.o alloca86_64.o" lib64/libtcc1.a |
| 235 | #todo: build arm, etc cross lib archives | 238 | $(MAKE) CC=./$(WIN64_CROSS) CONFIG_CROSS= TCC=./x86_64-win32-tcc \ |
| 239 | ARCH=x86-64 LIBTCC1_DIR=win32/lib/64 CONFIG_WIN64=1 win32/lib/64/libtcc1.a | ||
| 240 | #todo: add arm, etc cross lib archives | ||
| 236 | 241 | ||
| 237 | win64: $(PROGS_CROSS) | 242 | win64: $(PROGS_CROSS) |
| 243 | #testing: bleeding: mingw64 cross-cross lib stuff would go here | ||
| 238 | $(MAKE) TCC=./$(WIN32_CROSS) CC=./$(WIN32_CROSS) LIBTCC1_DIR=win32/lib/32 \ | 244 | $(MAKE) TCC=./$(WIN32_CROSS) CC=./$(WIN32_CROSS) LIBTCC1_DIR=win32/lib/32 \ |
| 239 | ARCH=i386 CONFIG_WIN32=1 win32/lib/32/libtcc1.a | 245 | ARCH=i386 CONFIG_WIN32=1 win32/lib/32/libtcc1.a |
| 240 | $(MAKE) CC=./$(I386_CROSS) LIBTCC1_DIR=lib ARCH=i386 lib/libtcc1.a | 246 | $(MAKE) CC=./$(I386_CROSS) LIBTCC1_DIR=lib ARCH=i386 lib/libtcc1.a |
| 241 | $(MAKE) CC=./$(X64_CROSS) LIBTCC1_DIR=lib64 ARCH=x86-64 lib64/libtcc1.a | 247 | $(MAKE) CC=./$(X64_CROSS) LIBTCC1_DIR=lib64 ARCH=x86-64 lib64/libtcc1.a |
| 242 | 248 | ||
| 243 | i386: $(PROGS_CROSS) | 249 | i386: $(PROGS_CROSS) |
| 250 | #testing: unstable: build cross-compiler libs on i386 platform | ||
| 244 | $(MAKE) TCC=./$(WIN32_CROSS) CC=./$(WIN32_CROSS) LIBTCC1_DIR=win32/lib/32 \ | 251 | $(MAKE) TCC=./$(WIN32_CROSS) CC=./$(WIN32_CROSS) LIBTCC1_DIR=win32/lib/32 \ |
| 245 | ARCH=i386 CONFIG_WIN32=1 win32/lib/32/libtcc1.a | 252 | ARCH=i386 CONFIG_WIN32=1 win32/lib/32/libtcc1.a |
| 246 | $(MAKE) TCC=./$(WIN64_CROSS) CC=./$(WIN64_CROSS) LIBTCC1_DIR=win32/lib/64 \ | 253 | $(MAKE) TCC=./$(WIN64_CROSS) CC=./$(WIN64_CROSS) LIBTCC1_DIR=win32/lib/64 \ |
| @@ -248,6 +255,7 @@ i386: $(PROGS_CROSS) · 1 unmodified line | |||
| 248 | $(MAKE) CC=./$(X64_CROSS) LIBTCC1_DIR=lib64 ARCH=x86-64 lib64/libtcc1.a | 255 | $(MAKE) CC=./$(X64_CROSS) LIBTCC1_DIR=lib64 ARCH=x86-64 lib64/libtcc1.a |
| 249 | 256 | ||
| 250 | x86-64: $(PROGS_CROSS) | 257 | x86-64: $(PROGS_CROSS) |
| 258 | #stable: build cross-compiler lib archives on x86_64 platform | ||
| 251 | $(MAKE) TCC=./$(WIN32_CROSS) CC=./$(WIN32_CROSS) LIBTCC1_DIR=win32/lib/32 \ | 259 | $(MAKE) TCC=./$(WIN32_CROSS) CC=./$(WIN32_CROSS) LIBTCC1_DIR=win32/lib/32 \ |
| 252 | ARCH=i386 CONFIG_WIN32=1 win32/lib/32/libtcc1.a | 260 | ARCH=i386 CONFIG_WIN32=1 win32/lib/32/libtcc1.a |
| 253 | $(MAKE) TCC=./$(WIN64_CROSS) CC=./$(WIN64_CROSS) LIBTCC1_DIR=win32/lib/64 \ | 261 | $(MAKE) TCC=./$(WIN64_CROSS) CC=./$(WIN64_CROSS) LIBTCC1_DIR=win32/lib/64 \ |
| @@ -309,7 +317,7 @@ uninstall: · 55 unmodified lines | |||
| 309 | ifdef DISABLE_STATIC | 317 | ifdef DISABLE_STATIC |
| 310 | rm -fv "$(libdir)/libtcc.so" | 318 | rm -fv "$(libdir)/libtcc.so" |
| 311 | rm -fv "$(libdir)/libtcc.so.1" | 319 | rm -fv "$(libdir)/libtcc.so.1" |
| 312 | rm -fv "$(libdir)/libtcc.so" | 320 | rm -fv "$(libdir)/libtcc.so.1.0" |
| 313 | else | 321 | else |
| 314 | rm -fv "$(libdir)/libtcc.a" | 322 | rm -fv "$(libdir)/libtcc.a" |
| 315 | endif | 323 | endif |