.PHONY: world .PHONY: check .PHONY: install TOP=. include $(TOP)/config.mak ##============================================================================== ## ## Export CONFIG_TARGET (buildtool uses it) ## ##============================================================================== export CONFIG_TARGET export CONFIG_TOOLCHAIN ##============================================================================== ## ## WORLD -- the 'WORLD" variable indicates that we are building for test ## (./cofigure-world). ## ##============================================================================== ifeq ($(CONFIG_PREFIX),$(CURDIR)) WORLD=1 endif ##============================================================================== ## ## rules targets: ## ##============================================================================== DIRECTORIES = \ tools \ ut \ strhash \ mof \ base \ wql \ gen \ provreg \ provmgr \ disp \ micxx \ sock \ protocol \ http \ wsman \ protocol/posthttp \ xml \ xml/chkxml \ omiclient \ omireg \ cli \ agent \ server \ providers \ check ifdef WORLD DIRECTORIES += samples DIRECTORIES += unittest endif -include $(ROOT)/mak/rules.mak ##============================================================================== ## ## distclean: ## ##============================================================================== distclean: rm -rf $(OUTPUTDIR) ##============================================================================== ## ## tests: ## ##============================================================================== ifdef WORLD tests: $(MAKE) -C unittest tests endif ##============================================================================== ## ## world: ## ##============================================================================== __world: $(MAKE) clean $(MAKE) depend $(MAKE) $(MAKE) -C unittest tests $(MAKE) check world: time $(MAKE) __world ##============================================================================== ## ## gen: ## ##============================================================================== GENDIRECTORIES = \ providers/identify \ samples/Providers/Color \ samples/Providers/Connector \ samples/Providers/ConnectorCXX \ samples/Providers/Fan \ samples/Providers/Fastener \ samples/Providers/Number \ samples/Providers/Demo-i2 \ samples/Providers/PersonProvider \ samples/Providers/PersonProviderCXX \ samples/Providers/President \ base/tests \ doc/omi/samples/frog \ doc/omi/samples/connector GENFILES=`grep -r -l '@''migen@' .` lsgen: @ echo $(GENFILES) gen: @ $(foreach i, $(GENDIRECTORIES), $(MAKE) -C $i gen $(NL) ) ##============================================================================== ## ## install/uninstall ## ##============================================================================== SO=$(shell $(BUILDTOOL) shlibext) ifneq ($(WORLD)$(DESTDIR),1) install: ifdef DESTDIR ( $(OUTPUTDIR)/install --destdir=$(DESTDIR) ) else ( $(OUTPUTDIR)/install ) endif uninstall: ( $(OUTPUTDIR)/uninstall ) endif ##============================================================================== ## ## dist: ## ##============================================================================== DISTTMPDIR=/tmp/omi/$(USER) DIST=omi-$(CONFIG_VERSION) dist: @ rm -rf $(DISTTMPDIR) @ mkdir -p $(DISTTMPDIR)/$(DIST) @ cp -r . $(DISTTMPDIR)/$(DIST)/ @ rm -rf $(DISTTMPDIR)/$(DIST)/output @ ( cd $(DISTTMPDIR); rm -rf `find . -name CVS` ) @ ( cd $(DISTTMPDIR); tar cf $(ROOT)/$(DIST).tar $(DIST) ) @ rm -rf $(DISTTMPDIR) @ gzip ./$(DIST).tar @ echo "Created ./$(DIST).tar.gz" dist.zip: @ rm -rf $(DISTTMPDIR) @ mkdir -p $(DISTTMPDIR)/$(DIST) @ cp -r . $(DISTTMPDIR)/$(DIST)/ @ rm -rf $(DISTTMPDIR)/$(DIST)/output @ rm -rf $(DISTTMPDIR)/$(DIST)/license @ ( cd $(DISTTMPDIR); zip -r -q $(ROOT)/$(DIST).zip $(DIST); ) @ rm -rf $(DISTTMPDIR) @ echo "Created ./$(DIST).zip" ##============================================================================== ## ## bindist: ## ##============================================================================== BINDISTTMPDIR=/tmp/omi.tmp/$(USER) BINDIST=omi-$(CONFIG_VERSION)-$(PLATFORM) HOST=$(shell hostname) HOSTNAME=$(shell ./buildtool hostname) bindist: -@ $(MAKE) distclean ./configure --prefix=/omi --disable-libpath $(MAKE) rm -rf $(DISTTMPDIR) mkdir -p $(DISTTMPDIR)/$(BINDIST) cp -r . $(DISTTMPDIR)/$(BINDIST)/ rm -rf $(DISTTMPDIR)/$(BINDIST)/xml/chkxml rm -rf $(DISTTMPDIR)/$(BINDIST)/output/$(HOSTNAME)/obj rm -rf $(DISTTMPDIR)/$(BINDIST)/output/$(HOSTNAME)/var/run/omiserver.sock rm -rf $(DISTTMPDIR)/$(BINDIST)/output/$(HOSTNAME)/include/MI.h rm -rf $(DISTTMPDIR)/$(BINDIST)/output/$(HOSTNAME)/include/micxx rm -rf $(DISTTMPDIR)/$(BINDIST)/output/$(HOSTNAME)/include/omiclient cp $(OUTPUTDIR)/install $(DISTTMPDIR)/$(BINDIST)/ ( cd $(DISTTMPDIR); tar cf $(ROOT)/$(BINDIST).tar $(BINDIST) ) rm -rf $(DISTTMPDIR) rm -f ./install @ echo "Created ./$(BINDIST).tar" ##============================================================================== ## ## check: check validity of build. ## ##============================================================================== CHECKDIR=/tmp/omicheck.$(shell ./buildtool username) check: rm -rf $(CHECKDIR) $(OUTPUTDIR)/install --destdir=$(CHECKDIR) $(CHECKDIR)/$(CONFIG_BINDIR)/omiserver.bin -i -d --livetime 60 --httpport 0 --httpsport 0 --destdir=$(CHECKDIR) sleep 2 $(CHECKDIR)/$(CONFIG_BINDIR)/omicheck.bin --destdir=$(CHECKDIR) sleep 2 $(CHECKDIR)/$(CONFIG_BINDIR)/omiserver.bin -s --destdir=$(CHECKDIR) sleep 2 rm -rf $(CHECKDIR)