aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authormingodad <mingodad@gmail.com>2013-01-11 00:04:38 +0000
committermingodad <mingodad@gmail.com>2013-01-11 00:04:38 +0000
commit59e18aee0e509a3ca75dbe6f909e18c1d17893d1 (patch)
tree1ee20b231505273a1b1ba678b67c6c9e5812a414 /Makefile
parent0a8c7d143eb0dcae15db9b61feb7b93228645d5f (diff)
downloadtinycc-59e18aee0e509a3ca75dbe6f909e18c1d17893d1.tar.gz
tinycc-59e18aee0e509a3ca75dbe6f909e18c1d17893d1.tar.bz2
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.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile16
1 files changed, 12 insertions, 4 deletions
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