History

Makefile: --enable-cross on x86_64 simplified

Henry Kroll III committed 15 years ago

Commit 3d35b6b1 parent f332bb31 file · +11 −27Browse files

Unified · Split

Makefile+11−27
@@ -104,8 +104,7 @@ PROGS_CROSS=$(X64_CROSS) $(WIN32_CROSS) $(WIN64_CROSS) $(ARM_CROSS) $(C67_CROSS) · 103 unmodified lines
104else104else
105ifeq ($(ARCH),x86-64)105ifeq ($(ARCH),x86-64)
106NATIVE_FILES=$(X86_64_FILES)106NATIVE_FILES=$(X86_64_FILES)
107# $(WIN32_CROSS) is buit more carefully on this platform. See win32libcc1:107PROGS+=$(WIN32_CROSS)
108# PROGS+=$(WIN32_CROSS)
109PROGS_CROSS=$(I386_CROSS) $(WIN64_CROSS) $(ARM_CROSS) $(C67_CROSS)108PROGS_CROSS=$(I386_CROSS) $(WIN64_CROSS) $(ARM_CROSS) $(C67_CROSS)
110else109else
111ifeq ($(ARCH),arm)110ifeq ($(ARCH),arm)
@@ -129,7 +128,7 @@ ifdef CONFIG_CROSS · 17 unmodified lines
129PROGS+=$(PROGS_CROSS)128PROGS+=$(PROGS_CROSS)
130# Try to build win32 cross-compiler lib on *nix129# Try to build win32 cross-compiler lib on *nix
131ifndef CONFIG_WIN32130ifndef CONFIG_WIN32
132LIBTCCLIBS+=win32libcc1131LIBTCCLIBS+=LinuxWIN32libtcc1
133endif132endif
134endif133endif
135 134
@@ -186,27 +185,12 @@ libtcc.so.1.0: $(LIBTCC_OBJ) · 50 unmodified lines
186 185
187libtcc_test$(EXESUF): tests/libtcc_test.c $(LIBTCCB)186libtcc_test$(EXESUF): tests/libtcc_test.c $(LIBTCCB)
188 $(CC) -o $@ $^ -I. $(CFLAGS) $(LIBS) $(LIBTCCL)187 $(CC) -o $@ $^ -I. $(CFLAGS) $(LIBS) $(LIBTCCL)
189 188
190# To build cross-compilers on Linux we must make a fake 32 bit tcc.exe189# use i386-win32-tcc instead of tcc.exe to build libtcc1.a on Linux
191# and use it to build ELF objects into win32 version of libtcc1.a190# ar t libtcc1.a will list the ELF objects
192win32libcc1:191LinuxWIN32libtcc1: $(WIN32_CROSS)
193 mv config.mak config.mak.bak192 $(MAKE) ARCH=i386 CONFIG_WIN32=1 TCC=./i386-win32-tcc libtcc1.a
194 mv config.h config.h.bak193 @-mv libtcc1.a win32/lib
195 cp config.h.bak config.h
196 cp config.mak.bak config.mak
197 echo "ARCH=i386" >> config.mak
198 echo "#undef HOST_X86_64" >> config.h
199 echo "#define HOST_I386 1" >> config.h
200 echo "CFLAGS=-O2 -g -pipe -Wall -m32" >> config.mak
201 echo "ARCH=i386" >> config.mak
202 $(MAKE) $(WIN32_CROSS) CC=gcc
203 -ln -s $(WIN32_CROSS) tcc.exe
204 -mv libtcc1.a libtcc1.bak
205 $(MAKE) CONFIG_WIN32=1 libtcc1.a
206 mv libtcc1.a lib
207 -mv libtcc1.bak libtcc1.a
208 mv config.mak.bak config.mak
209 mv config.h.bak config.h
210 194
211libtest: libtcc_test$(EXESUF) $(LIBTCC1)195libtest: libtcc_test$(EXESUF) $(LIBTCC1)
212 ./libtcc_test$(EXESUF) lib_path=.196 ./libtcc_test$(EXESUF) lib_path=.
@@ -229,7 +213,7 @@ VPATH+=lib · 16 unmodified lines
229ifdef CONFIG_WIN32213ifdef CONFIG_WIN32
230# for windows, we must use TCC because we generate ELF objects214# for windows, we must use TCC because we generate ELF objects
231LIBTCC1_OBJS+=crt1.o wincrt1.o dllcrt1.o dllmain.o chkstk.o bcheck.o215LIBTCC1_OBJS+=crt1.o wincrt1.o dllcrt1.o dllmain.o chkstk.o bcheck.o
232LIBTCC1_CC=./tcc.exe -Bwin32 -Iinclude $(NATIVE_DEFINES)216LIBTCC1_CC=./$(TCC)$(EXESUF) -Bwin32 -Iinclude $(NATIVE_DEFINES)
233VPATH+=win32/lib217VPATH+=win32/lib
234endif218endif
235 219
@@ -274,7 +258,7 @@ endif · 38 unmodified lines
274 $(INSTALL) -m644 tcc-doc.html "$(docdir)"258 $(INSTALL) -m644 tcc-doc.html "$(docdir)"
275ifdef CONFIG_CROSS259ifdef CONFIG_CROSS
276 mkdir -p "$(tccdir)/lib"260 mkdir -p "$(tccdir)/lib"
277 $(INSTALL) -m644 win32/lib/*.def lib/libtcc1.a "$(tccdir)/lib"261 $(INSTALL) -m644 win32/lib/*.def win32/lib/libtcc1.a "$(tccdir)/lib"
278 cp -r win32/include/. "$(tccdir)/include"262 cp -r win32/include/. "$(tccdir)/include"
279 cp -r win32/examples/. "$(tccdir)/examples"263 cp -r win32/examples/. "$(tccdir)/examples"
280endif264endif
@@ -334,7 +318,7 @@ tar: · 53 unmodified lines
334 $(MAKE) -C tests $@318 $(MAKE) -C tests $@
335 319
336clean:320clean:
337 rm -vf $(PROGS) tcc_p$(EXESUF) tcc.pod *~ *.o *.a *.out *.so* *.exe libtcc_test$(EXESUF) lib/libtcc1.a $(WIN32_CROSS)321 rm -vf $(PROGS) tcc_p$(EXESUF) tcc.pod *~ *.o *.a *.out *.so* *.exe libtcc_test$(EXESUF) win32/lib/libtcc1.a $(WIN32_CROSS)
338 $(MAKE) -C tests $@322 $(MAKE) -C tests $@
339 323
340distclean: clean324distclean: clean

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t