(file) Return to GNUmakefile CVS log (file) (dir) Up to [OMI] / omi

File: [OMI] / omi / Attic / GNUmakefile (download)
Revision: 1.4, Mon Apr 20 17:10:08 2015 UTC (9 years ago) by krisbash
Branch: MAIN
CVS Tags: HEAD
Changes since 1.3: +0 -0 lines
FILE REMOVED
Remove 1.0.2

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


ViewCVS 0.9.2