From 59e18aee0e509a3ca75dbe6f909e18c1d17893d1 Mon Sep 17 00:00:00 2001 From: mingodad Date: Fri, 11 Jan 2013 00:04:38 +0000 Subject: Added what I call virtual io to tinycc this way we can make a monolitic executable or library that contains all needed to compile programs, truly tinycc portable. Tested under linux exec the "mk-it" shell script and you'll end up with a portable tinycc executable that doesn't depend on anything else. --- Makefile | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index c8bca47..8281d56 100644 --- a/Makefile +++ b/Makefile @@ -172,15 +172,20 @@ PROGS+=$(PROGS_CROSS) TCCLIBS+=$(LIBTCC1_CROSS) endif -all: $(PROGS) $(TCCLIBS) $(TCCDOCS) +ifdef CONFIG_USE_ATTACHMENTS +FILE_ATTACHMENTS= tcc_attachments.o +CFLAGS += -DWITH_ATTACHMENTS=1 +endif + +all: $(PROGS) $(TCCLIBS) $(FILE_ATTACHMENTS) $(TCCDOCS) # Host Tiny C Compiler tcc$(EXESUF): tcc.o $(LIBTCC) - $(CC) -o $@ $^ $(LIBS) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(LINK_LIBTCC) + $(CC) -o $@ $^ $(LIBS) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(FILE_ATTACHMENTS) $(LINK_LIBTCC) # Cross Tiny C Compilers %-tcc$(EXESUF): - $(CC) -o $@ tcc.c -DONE_SOURCE $(DEFINES) $(CPPFLAGS) $(CFLAGS) $(LIBS) $(LDFLAGS) + $(CC) -o $@ tcc.c -DONE_SOURCE $(DEFINES) $(CPPFLAGS) $(CFLAGS) $(FILE_ATTACHMENTS) $(LIBS) $(LDFLAGS) $(I386_CROSS): DEFINES = -DTCC_TARGET_I386 \ -DCONFIG_TCCDIR="\"$(tccdir)/i386\"" @@ -227,9 +232,12 @@ libtcc.so.1.0: $(LIBTCC_OBJ) libtcc.so.1.0: CFLAGS+=-fPIC +#tcc_attachments.o: libtcc.c +# mk-attachments.sh + # profiling version tcc_p$(EXESUF): $(NATIVE_FILES) - $(CC) -o $@ $< $(NATIVE_DEFINES) $(CPPFLAGS_P) $(CFLAGS_P) $(LIBS_P) $(LDFLAGS_P) + $(CC) -o $@ $< $(NATIVE_DEFINES) $(CPPFLAGS_P) $(CFLAGS_P) $(LIBS_P) $(FILE_ATTACHMENTS) $(LDFLAGS_P) # windows utilities tiny_impdef$(EXESUF): win32/tools/tiny_impdef.c -- cgit v1.3.1