Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Tree: 654a1afd52
Fetching contributors…

Cannot retrieve contributors at this time

55 lines (44 sloc) 2.11 KB
# Initial Version Copyright (C) 2010 eZuce, Inc., All Rights Reserved.
# Licensed to the User under the LGPL license.
help.sipx=Build all sipx components including targets autoreconf, configure, all and install targets
build sipx :
$(MAKE) $(foreach P,$(sipx),$(P)) all sipx apps including targets autoreconf, configure, all and install targets
app :
$(MAKE) $(foreach P,$(app),$(P))
$(foreach T,$(sipx) $(app),$(T)) : % :;
$(foreach T,$(sipx) $(app),$(T)...) : %... :;
$(foreach T,$(sipx) $(app),$(T).build) : : %.autoreconf %.configure %.all-install ;
help.{1|6}.all-install=Run 'make all install' in each target
$(foreach T,$(sipx) $(app),$(T).all-install) : %.all-install : %.all %.install ;
# Targets for sipx and lib. Uses pattern so libs can implement their own
# implementation that will override the patterned one. i.e. freeswitch.autoreconf
# This also means all targets in all other make files cannot create a target that
# ends in autoreconf, configure or dist.
help.{1|2|6}.autoreconf=Run autoreconf on each project
%.autoreconf : $(SRC)/%
cd $(SRC)/$(PROJ); \
autoreconf -if
# TODO: Needs to support switching branches automatically
$(foreach P,$(sipx) $(app) $(lib),$(SRC)/$(P)) : $(SRC)/% :
git clone $($*_REPO) $*.git
mv $*.git $@
help.{1|2|6}.configure = Run configure on each project
%.configure :
test -d $(PROJ) || mkdir -p $(PROJ)
cd $(PROJ); \
$(SRC)/$(PROJ)/configure $(OPTIONS) $(sipx_OPTIONS) $($(PROJ)_OPTIONS)
help.{1|2|6}.dist = Build archive, typically compressed tar
%.dist :; $(MAKE) -C $(PROJ) dist
# Targets for sipx only.
MAKE_COMMANDS = check install clean dist
$(foreach C,$(MAKE_COMMANDS) all,$(eval help.{1}.$(C)=Run make $(C) on each project))
$(foreach P,$(sipx) $(app),$(P).install) :; $(MAKE) -C $(PROJ) install
$(foreach P,$(sipx) $(app),$(P).clean) :; $(MAKE) -C $(PROJ) clean
$(foreach P,$(sipx) $(app),$(P).check) :; $(MAKE) -C $(PROJ) check
# projects do not all have an "all" target, they probably should, until then, use
# no-target default
$(foreach C,all,$(foreach T,$(sipx) $(app),$(T).all)) :
$(MAKE) -C $(PROJ)
Jump to Line
Something went wrong with that request. Please try again.