aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile14
-rw-r--r--README3
-rw-r--r--[-rwxr-xr-x]examples/ex1.c.template (renamed from examples/ex1.c)2
-rw-r--r--[-rwxr-xr-x]examples/ex4.c.template (renamed from examples/ex4.c)2
4 files changed, 14 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index d1dfbda..8a04f8e 100644
--- a/Makefile
+++ b/Makefile
@@ -141,15 +141,16 @@ ifdef CONFIG_USE_LIBGCC
LIBTCC1=
endif
-TCCLIBS = $(LIBTCC1) $(LIBTCC) $(BCHECK_O)
-TCCDOCS = tcc.1 tcc-doc.html tcc-doc.info
+TCCLIBS := $(LIBTCC1) $(LIBTCC) $(BCHECK_O)
+TCCDOCS := tcc.1 tcc-doc.html tcc-doc.info
+TCCEXS := $(patsubst ex%.c.template,ex%.c,$(wildcard examples/ex*.c.template))
ifdef CONFIG_CROSS
PROGS+=$(PROGS_CROSS)
TCCLIBS+=$(LIBTCC1_CROSS)
endif
-all: $(PROGS) $(TCCLIBS) $(TCCDOCS)
+all: $(PROGS) $(TCCLIBS) $(TCCDOCS) $(TCCEXS)
# Host Tiny C Compiler
tcc$(EXESUF): tcc.o $(LIBTCC)
@@ -324,6 +325,11 @@ tcc.1: tcc-doc.texi
tcc-doc.info: tcc-doc.texi
-makeinfo tcc-doc.texi
+# examples
+examples/ex%.c: examples/ex%.c.template
+ sed '1s/@BINDIR@/$(subst /,\/,$(bindir))/' $< > $@
+ chmod a+x $@
+
.PHONY: all clean tar distclean install uninstall FORCE
# tar release (use 'make -k tar' on a checkouted tree)
@@ -341,7 +347,7 @@ export LIBTCC1
$(MAKE) -C tests $@
clean:
- rm -vf $(PROGS) tcc_p$(EXESUF) tcc.pod *~ *.o *.a *.so* *.out *.exe libtcc_test$(EXESUF)
+ rm -vf $(PROGS) tcc_p$(EXESUF) tcc.pod *~ *.o *.a *.so* *.out *.exe libtcc_test$(EXESUF) $(TCCEXS)
$(MAKE) -C tests $@
ifneq ($(LIBTCC1),)
$(MAKE) -C lib $@
diff --git a/README b/README
index bfaab39..0ead1ee 100644
--- a/README
+++ b/README
@@ -65,7 +65,8 @@ operations given a list of numbers (benchmark).
ex3.c: compute fibonacci numbers (benchmark).
ex4.c: more complicated: X11 program. Very complicated test in fact
-because standard headers are being used !
+because standard headers are being used ! As for ex1.c, can also be launched
+directly as a script: './ex4.c'.
ex5.c: 'hello world' with standard glibc headers.
diff --git a/examples/ex1.c b/examples/ex1.c.template
index 28139f9..8744f58 100755..100644
--- a/examples/ex1.c
+++ b/examples/ex1.c.template
@@ -1,4 +1,4 @@
-#! /usr/local/bin/tcc -run
+#! @BINDIR@/tcc -run
#include <tcclib.h>
int main()
diff --git a/examples/ex4.c b/examples/ex4.c.template
index b33b033..81aa00d 100755..100644
--- a/examples/ex4.c
+++ b/examples/ex4.c.template
@@ -1,4 +1,4 @@
-#!./tcc -run -L/usr/X11R6/lib -lX11
+#! @BINDIR@/tcc -run -L/usr/X11R6/lib -lX11
#include <stdlib.h>
#include <stdio.h>
#include <X11/Xlib.h>