Make examples' shebang use target tcc bindir path

Use @BINDIR@ in shebang of examples to put the right path on the target
system. That is, use #!/usr/local/bin/tcc if tcc is installed in /usr/local/bin
and #!/usr/bin/tcc if tcc is installed in /usr/bin/tcc.
This commit is contained in:
Thomas Preud'homme 2011-06-18 00:24:47 +02:00
parent 3511e6e2a8
commit cb2138f8b0
4 changed files with 14 additions and 7 deletions

View File

@ -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 $@

3
README
View File

@ -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.

2
examples/ex1.c → examples/ex1.c.template Executable file → Normal file
View File

@ -1,4 +1,4 @@
#! /usr/local/bin/tcc -run
#! @BINDIR@/tcc -run
#include <tcclib.h>
int main()

2
examples/ex4.c → examples/ex4.c.template Executable file → Normal file
View File

@ -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>