1 mike 1.1 .PHONY: world
2 .PHONY: check
3 .PHONY: install
4
5 TOP=.
6 include $(TOP)/config.mak
7
8 ##==============================================================================
9 ##
10 ## Export CONFIG_TARGET (buildtool uses it)
11 ##
12 ##==============================================================================
13
14 export CONFIG_TARGET
15 export CONFIG_TOOLCHAIN
16
17 ##==============================================================================
18 ##
19 ## WORLD -- the 'WORLD" variable indicates that we are building for test
20 ## (./cofigure-world).
21 ##
22 mike 1.1 ##==============================================================================
23
24 ifeq ($(CONFIG_PREFIX),$(CURDIR))
25 WORLD=1
26 endif
27
28 ##==============================================================================
29 ##
30 ## rules targets:
31 ##
32 ##==============================================================================
33
34 DIRECTORIES = \
35 tools \
36 ut \
37 strhash \
38 mof \
39 base \
40 wql \
41 gen \
42 provreg \
43 mike 1.1 provmgr \
44 disp \
45 micxx \
46 protocol \
47 xml \
48 xml/chkxml \
49 omiclient \
50 omireg \
51 cli \
52 agent \
53 server \
54 providers \
55 check
56
57 ifdef WORLD
58 DIRECTORIES += samples
59 DIRECTORIES += unittest
60 endif
61
62 -include $(ROOT)/mak/rules.mak
63
64 mike 1.1 ##==============================================================================
65 ##
66 ## distclean:
67 ##
68 ##==============================================================================
69
70 distclean:
71 rm -rf $(OUTPUTDIR)
72
73 ##==============================================================================
74 ##
75 ## tests:
76 ##
77 ##==============================================================================
78
79 ifdef WORLD
80 tests:
81 $(MAKE) -C unittest tests
82 endif
83
84 ##==============================================================================
85 mike 1.1 ##
86 ## world:
87 ##
88 ##==============================================================================
89
90 __world:
91 $(MAKE) clean
92 $(MAKE) depend
93 $(MAKE)
94 $(MAKE) -C unittest tests
95 $(MAKE) check
96
97 world:
98 time $(MAKE) __world
99
100 ##==============================================================================
101 ##
102 ## gen:
103 ##
104 ##==============================================================================
105
106 mike 1.1 GENDIRECTORIES = \
107 providers/identify \
108 samples/Providers/Color \
109 samples/Providers/Connector \
110 samples/Providers/ConnectorCXX \
111 samples/Providers/Fan \
112 samples/Providers/Fastener \
113 samples/Providers/Number \
114 samples/Providers/Demo-i2 \
115 samples/Providers/PersonProvider \
116 samples/Providers/PersonProviderCXX \
117 samples/Providers/President \
118 base/tests \
119 doc/omi/samples/frog \
120 doc/omi/samples/connector
121
122
123 GENFILES=`grep -r -l '@''migen@' .`
124
125 lsgen:
126 @ echo $(GENFILES)
127 mike 1.1
128 gen:
129 @ $(foreach i, $(GENDIRECTORIES), $(MAKE) -C $i gen $(NL) )
130
131 ##==============================================================================
132 ##
133 ## install/uninstall
134 ##
135 ##==============================================================================
136
137 SO=$(shell $(BUILDTOOL) shlibext)
138
139 ifneq ($(WORLD)$(DESTDIR),1)
140
141 install:
142 ifdef DESTDIR
143 ( $(OUTPUTDIR)/install --destdir=$(DESTDIR) )
144 else
145 ( $(OUTPUTDIR)/install )
146 endif
147
148 mike 1.1 uninstall:
149 ( $(OUTPUTDIR)/uninstall )
150
151 endif
152
153 ##==============================================================================
154 ##
155 ## dist:
156 ##
157 ##==============================================================================
158
159 DISTTMPDIR=/tmp/omi/$(USER)
160 DIST=omi-$(CONFIG_VERSION)
161
162 dist:
163 @ rm -rf $(DISTTMPDIR)
164 @ mkdir -p $(DISTTMPDIR)/$(DIST)
165 @ cp -r . $(DISTTMPDIR)/$(DIST)/
166 @ rm -rf $(DISTTMPDIR)/$(DIST)/output
167 @ ( cd $(DISTTMPDIR); rm -rf `find . -name CVS` )
168 @ ( cd $(DISTTMPDIR); tar cf $(ROOT)/$(DIST).tar $(DIST) )
169 mike 1.1 @ rm -rf $(DISTTMPDIR)
170 @ gzip ./$(DIST).tar
171 @ echo "Created ./$(DIST).tar.gz"
172
173 dist.zip:
174 @ rm -rf $(DISTTMPDIR)
175 @ mkdir -p $(DISTTMPDIR)/$(DIST)
176 @ cp -r . $(DISTTMPDIR)/$(DIST)/
177 @ rm -rf $(DISTTMPDIR)/$(DIST)/output
178 @ rm -rf $(DISTTMPDIR)/$(DIST)/license
179 @ ( cd $(DISTTMPDIR); zip -r -q $(ROOT)/$(DIST).zip $(DIST); )
180 @ rm -rf $(DISTTMPDIR)
181 @ echo "Created ./$(DIST).zip"
182
183 ##==============================================================================
184 ##
185 ## bindist:
186 ##
187 ##==============================================================================
188
189 BINDISTTMPDIR=/tmp/omi.tmp/$(USER)
190 mike 1.1 BINDIST=omi-$(CONFIG_VERSION)-$(PLATFORM)
191 HOST=$(shell hostname)
192 HOSTNAME=$(shell ./buildtool hostname)
193
194 bindist:
195 -@ $(MAKE) distclean
196 ./configure --prefix=/omi --disable-libpath
197 $(MAKE)
198 rm -rf $(DISTTMPDIR)
199 mkdir -p $(DISTTMPDIR)/$(BINDIST)
200 cp -r . $(DISTTMPDIR)/$(BINDIST)/
201 rm -rf $(DISTTMPDIR)/$(BINDIST)/xml/chkxml
202 rm -rf $(DISTTMPDIR)/$(BINDIST)/output/$(HOSTNAME)/obj
203 rm -rf $(DISTTMPDIR)/$(BINDIST)/output/$(HOSTNAME)/var/run/omiserver.sock
204 rm -rf $(DISTTMPDIR)/$(BINDIST)/output/$(HOSTNAME)/include/MI.h
205 rm -rf $(DISTTMPDIR)/$(BINDIST)/output/$(HOSTNAME)/include/micxx
206 rm -rf $(DISTTMPDIR)/$(BINDIST)/output/$(HOSTNAME)/include/omiclient
207 cp $(OUTPUTDIR)/install $(DISTTMPDIR)/$(BINDIST)/
208 ( cd $(DISTTMPDIR); tar cf $(ROOT)/$(BINDIST).tar $(BINDIST) )
209 rm -rf $(DISTTMPDIR)
210 rm -f ./install
211 mike 1.1 @ echo "Created ./$(BINDIST).tar"
212
213 ##==============================================================================
214 ##
215 ## check: check validity of build.
216 ##
217 ##==============================================================================
218
219 CHECKDIR=/tmp/omicheck.$(shell ./buildtool username)
220
221 check:
222 rm -rf $(CHECKDIR)
223 $(OUTPUTDIR)/install --destdir=$(CHECKDIR)
224 $(CHECKDIR)/$(CONFIG_BINDIR)/omiserver.bin -i -d --livetime 60 --httpport 0 --httpsport 0 --destdir=$(CHECKDIR)
225 sleep 2
226 $(CHECKDIR)/$(CONFIG_BINDIR)/omicheck.bin --destdir=$(CHECKDIR)
227 sleep 2
228 $(CHECKDIR)/$(CONFIG_BINDIR)/omiserver.bin -s --destdir=$(CHECKDIR)
229 sleep 2
230 rm -rf $(CHECKDIR)
231
|