From 0b08db43bb10a909f7f7bf01eccd7b65140ae950 Mon Sep 17 00:00:00 2001 From: Matthieu Patou Date: Thu, 25 Sep 2014 23:32:50 -0700 Subject: [PATCH] Add some plumbing in our top level Makefile to make life easier For instance you can type make bin/smbd to build just smbd (and it's dependencies still) or make bin/smbd bin/smbtorture You can also do make service_drepl if you want just to build the stuff related to DRS Change-Id: I61bdaeff79ecfb1a15728c2de7e6a6a14dd8bc7d Signed-off-by: Matthieu Patou Reviewed-by: Michael Adam Autobuild-User(master): Matthieu Patou Autobuild-Date(master): Fri Sep 26 11:48:11 CEST 2014 on sn-devel-104 --- Makefile | 40 +++++++++++++++++++++++++++++++++++----- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index a53c27af854..4cbbb146841 100644 --- a/Makefile +++ b/Makefile @@ -70,13 +70,43 @@ etags: ctags: $(WAF) ctags -# this allows for things like "make bin/smbtorture" -bin/%:: FORCE - $(WAF) --targets=$@ -FORCE: - pydoctor: $(WAF) pydoctor pep8: $(WAF) pep8 + +# Adding force on the depencies will force the target to be always rebuild form the Make +# point of view forcing make to invoke waf + +bin/smbd: FORCE + $(WAF) --targets=smbd/smbd + +bin/winbindd: FORCE + $(WAF) --targets=winbindd/winbindd + +bin/nmbd: FORCE + $(WAF) --targets=nmbd/nmbd + +bin/smbclient: FORCE + $(WAF) --targets=client/smbclient + +# this allows for things like "make bin/smbtorture" +# mainly for the binary that don't have a broken mode like smbd that must +# be build with smbd/smbd +bin/%: FORCE + $(WAF) --targets=$(subst bin/,,$@) + +# Catch all rule to be able to call make service_repl in order to find the name +# of the submodule you want to build, look at the wscript +%: + $(WAF) --targets=$@ + +# This rule has to be the last one +FORCE: +# Having .NOTPARALLEL will force make to do target once at a time but still -j +# will be present in the MAKEFLAGS that are in turn interpreted by WAF +# so only 1 waf at a time will be called but it will still be able to do parralel builds if +# instructed to do so +.NOTPARALLEL: % +.PHONY: FORCE -- 2.34.1