From 5280293d6b16bbe24dfda76e37f32322fa2874ca Mon Sep 17 00:00:00 2001 From: grischka Date: Thu, 14 Jul 2011 18:45:37 +0200 Subject: make: create native tcc from separate objects This was already possible using make NOTALLINONE=1 and is now the default. To build as previously from one big source, use make ONE_SOURCE=1 Cross compilers are still build from one source because using separate objects requires separate build directories one per platform which currently is not (yet) supported by the makefile. We could probably use gnu-makeish target variables like $(I386_CROSS): OUTDIR=build/i386 $(X64_CROSS): OUTDIR=build/x86-64 and so on ... Also NEED_FLOAT_TYPES for arm-gen is removed. It was about variables that are referenced from outside (libtcc, tccgen). We could declare them in tcc.h (as with reg_classes) or have them twice in arm-gen.c. I chose option 2. --- Makefile | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index d1dfbda..f60f465 100644 --- a/Makefile +++ b/Makefile @@ -157,7 +157,7 @@ tcc$(EXESUF): tcc.o $(LIBTCC) # Cross Tiny C Compilers %-tcc$(EXESUF): - $(CC) -o $@ tcc.c $(DEFINES) $(CFLAGS) $(LIBS) $(LDFLAGS) + $(CC) -o $@ tcc.c -DONE_SOURCE $(DEFINES) $(CFLAGS) $(LIBS) $(LDFLAGS) $(I386_CROSS): DEFINES = -DTCC_TARGET_I386 -DCONFIG_TCCDIR="\"$(tccdir)/i386\"" $(X64_CROSS): DEFINES = -DTCC_TARGET_X86_64 @@ -179,14 +179,13 @@ $(C67_CROSS): $(C67_FILES) $(ARM_FPA_CROSS) $(ARM_FPA_LD_CROSS) $(ARM_VFP_CROSS) $(ARM_EABI_CROSS): $(ARM_FILES) # libtcc generation and test -ifdef NOTALLINONE +ifndef ONE_SOURCE LIBTCC_OBJ = $(filter-out tcc.o,$(patsubst %.c,%.o,$(filter %.c,$(NATIVE_FILES)))) LIBTCC_INC = $(filter %.h,$(CORE_FILES)) $(filter-out $(CORE_FILES),$(NATIVE_FILES)) -$(LIBTCC_OBJ) tcc.o : NATIVE_DEFINES += -DNOTALLINONE else LIBTCC_OBJ = libtcc.o LIBTCC_INC = $(NATIVE_FILES) -tcc.o : NATIVE_DEFINES += -DNOTALLINONE +$(LIBTCC_OBJ) tcc.o : NATIVE_DEFINES += -DONE_SOURCE endif $(LIBTCC_OBJ) tcc.o : %.o : %.c $(LIBTCC_INC) -- cgit v1.3.1