build: fix VPATH builds

* configure (fn_dirname): New.
Use it to ensure the creation of proper symlinks to Makefiles.
(config.mak): Define top_builddir and top_srcdir.
(CPPFLAGS): Be sure to find the headers.
* Makefile, lib/Makefile, tests/Makefile, tests2/Makefile: Adjust
to set VPATH properly.
Fix confusion between top_builddir and top_srcdir.
This commit is contained in:
Akim Demaille
2012-12-14 17:18:03 +01:00
parent d815896d4c
commit 3f09b90d21
6 changed files with 55 additions and 25 deletions

View File

@ -1,5 +1,6 @@
TOP = ..
include $(TOP)/Makefile
VPATH = $(top_srcdir)/tests2
ifeq ($(TARGETOS),Darwin)
CFLAGS+=-Wl,-flat_namespace,-undefined,warning
@ -77,15 +78,15 @@ ifdef CONFIG_WIN32
TESTS := $(filter-out 28_strings.test,$(TESTS))
endif
%.test: %.expect %.c
%.test: %.c %.expect
@echo Test: $*...
@if [ "x`echo $* | grep args`" != "x" ]; \
then \
../tcc -B.. $(TCCFLAGS) -run $*.c - arg1 arg2 arg3 arg4 2>&1 >$*.output; \
../tcc -B.. $(TCCFLAGS) -run $< - arg1 arg2 arg3 arg4 2>&1 >$*.output; \
else \
../tcc -B.. $(TCCFLAGS) -run $*.c 2>&1 >$*.output; \
../tcc -B.. $(TCCFLAGS) -run $< 2>&1 >$*.output; \
fi
@if diff -bu $*.expect $*.output ; \
@if diff -bu $(<:.c=.expect) $*.output ; \
then \
rm -f $*.output \
else \