.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 \
protocol \
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)