help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GNU Make: "calling" sub make with target


From: Mark Galeck
Subject: Re: GNU Make: "calling" sub make with target
Date: Fri, 26 Apr 2013 09:20:56 -0700 (PDT)

>make -f Makefile-unittests test.
(...)
>make -f Makefile
(...)
>a) The application build fails when the build of the tests fails.


call Makefile-unittests recursively from Makefile, to do this:

make a rule like this in Makefile:

.PHONY: test
test:
$(MAKE) -f Makefile-unittests $@


But: I am assuming that test is self-contained, that is, does not use anything 
that is built in Makefile.  If not, then better not call $(MAKE) recursively, 
but merge the two makefiles into one.



>b) The application build fails when the run of the tests has faild.

I don't believe what you wrote is really what you want, because what you wrote 
is not possible.  What you wrote is that you want to run test, which needs 
application to be built, but then if the run fails, then application build 
should fail.  This is a circular dependency or "what was first: the chicken or 
the egg" problem.

  If you want to mix building and running of programs, the proper place to do 
it, is in a shell script that calls make and then runs the programs.  In such a 
script, you probably want to build both the test and the application, 
separately, and fail the script immediately if one of them fails, and then run 
the test if both builds pass.  

Mark


reply via email to

[Prev in Thread] Current Thread [Next in Thread]