On 11/16/2012 08:38 AM, Björn Stenberg wrote: > Stefano Lattarini wrote: >> Couldn't you simply add a 'buil-tests' target that creates >> all the programs in $(TESTS)? Something as simple as: >> >> build-tests: $(TESTS) >> >> Then run it on the build system, before running "make check" on >> the embedded target. Or am I missing something? > > The "check" target depends on the test programs, which in turn depend on their > source code files. > > I want to install only the test programs and test data on target, leaving > out the the source and object files. That's why I created a "run" target > that does not depend on those files being present. > You could add a dummy dependency for these missing sources, so that make won't try to rebuild them (and fail, because there are no rules to do so):
$ cat Makefile all: a.c b.c @echo $^ $ make # Oops, missing deps! make: *** No rule to make target `a.c', needed by `all'. Stop. $ echo status = $? status = 2 $ echo 'a.c b.c:' | make -f Makefile -f - # Lie to make a.c b.c $ echo status = $? status = 0 HTH, Stefano