(file) Return to build.mak CVS log (file) (dir) Up to [OMI] / omi

  1 krisbash 1.1 .PHONY: world
  2              .PHONY: check
  3              .PHONY: install
  4              .PHONY: server
  5              .PHONY: tests
  6              
  7              ifndef OUTPUTDIR
  8              $(error OUTPUTDIR is undefined)
  9              endif
 10              
 11              include $(OUTPUTDIR)/config.mak
 12              
 13              TOP=.
 14              
 15              ##==============================================================================
 16              ##
 17              ## Export CONFIG_TARGET (buildtool uses it)
 18              ##
 19              ##==============================================================================
 20              
 21              export CONFIG_TARGET
 22 krisbash 1.1 
 23              ##==============================================================================
 24              ##
 25              ## WORLD -- the 'WORLD" variable indicates that we are building for test
 26              ## (./cofigure-world).
 27              ##
 28              ##==============================================================================
 29              
 30              ifeq ($(CONFIG_PREFIX),$(CONFIGUREDIR))
 31                  WORLD=1
 32              endif
 33              
 34              ##==============================================================================
 35              ##
 36              ## Build tests:
 37              ##
 38              ##==============================================================================
 39              
 40              ifdef WORLD
 41                  BUILD_TESTS=1
 42              endif
 43 krisbash 1.1 
 44              ##==============================================================================
 45              ##
 46              ## rules targets:
 47              ##
 48              ##==============================================================================
 49              
 50              DIRECTORIES =
 51              DIRECTORIES += chkshlib
 52              DIRECTORIES += tools
 53              
 54              DIRECTORIES += pal
 55              DIRECTORIES += pal/nitspal
 56              
 57              DIRECTORIES += nits
 58              
 59              DIRECTORIES += ut
 60              ifeq ($(COMPILER),GNU)
 61              DIRECTORIES += strhash
 62              endif
 63              DIRECTORIES += mof
 64 krisbash 1.1 DIRECTORIES += base
 65              DIRECTORIES += sock
 66              DIRECTORIES += oi/gen_c/common
 67              DIRECTORIES += oi/gen_c/cmdline
 68              DIRECTORIES += wql
 69              DIRECTORIES += gen
 70              DIRECTORIES += provreg
 71              DIRECTORIES += provmgr
 72              DIRECTORIES += disp
 73              DIRECTORIES += omi_error
 74              DIRECTORIES += miapi
 75              DIRECTORIES += protocol
 76              DIRECTORIES += http
 77              DIRECTORIES += wsman
 78              DIRECTORIES += xml
 79              DIRECTORIES += xmlserializer
 80              DIRECTORIES += providers
 81              DIRECTORIES += midll
 82              DIRECTORIES += micxx
 83              DIRECTORIES += omiclient
 84              DIRECTORIES += cli
 85 krisbash 1.1 DIRECTORIES += omireg
 86              DIRECTORIES += check
 87              DIRECTORIES += samples
 88              
 89              ifndef DISABLE_INDICATION
 90              DIRECTORIES += indication/common
 91              DIRECTORIES += indication/indimgr
 92              endif
 93              
 94              ifdef CONFIG_SINGLEIMAGE
 95                DIRECTORIES += image
 96              else
 97                DIRECTORIES += server agent
 98              endif
 99              
100              TESTDIRS += tests/util
101              TESTDIRS += tests/io
102              TESTDIRS += tests/mof
103              TESTDIRS += tests/base
104              TESTDIRS += tests/provreg
105              TESTDIRS += tests/provmgr
106 krisbash 1.1 TESTDIRS += tests/micxx
107              TESTDIRS += tests/sock
108              TESTDIRS += tests/protocol
109              TESTDIRS += tests/http
110              TESTDIRS += tests/cli
111              TESTDIRS += tests/wsman
112              TESTDIRS += tests/wql
113              TESTDIRS += tests/strhash
114              TESTDIRS += tests/xml
115              TESTDIRS += tests/xmlserializer
116              TESTDIRS += samples/Providers/tests/PersonProvider
117              TESTDIRS += tests/miapi
118              TESTDIRS += tests/oi
119              
120              ifndef DISABLE_INDICATION
121              TESTDIRS += samples/Providers/Test_Indication
122              TESTDIRS += tests/indication
123              endif
124              
125              TESTDIRS += tests/pal
126              
127 krisbash 1.1 ##==============================================================================
128              ##
129              ## rules targets for DSC:
130              ##
131              ##==============================================================================
132              
133              ifdef ENABLE_DSC
134              DIRECTORIES += omiutils
135              DIRECTORIES += codec/mof
136              DIRECTORIES += codec/mof/parser
137              DIRECTORIES += dsc/engine/EngineHelper
138              DIRECTORIES += dsc/engine/ca/CAInfrastructure
139              DIRECTORIES += dsc/engine/ca/CALogInfrastructure
140              DIRECTORIES += dsc/engine/ConfigurationManager
141              DIRECTORIES += dsc/engine/ModuleLoader/ModuleLibrary
142              DIRECTORIES += dsc/engine/lcm
143              DIRECTORIES += dsc/engine/ConsistencyInvoker
144              TESTDIRS += dsc/tests/Engine/TestProvider
145              TESTDIRS += dsc/tests/Engine/TestFileProvider
146              TESTDIRS += dsc/tests/Engine/CA
147              TESTDIRS += dsc/tests/Engine/ModuleLoader
148 krisbash 1.1 TESTDIRS += dsc/tests/Engine/LCM
149              TESTDIRS += dsc/tests/Engine/E2E
150              endif
151              
152              ifdef BUILD_TESTS
153                  DIRECTORIES += $(TESTDIRS)
154              endif
155              
156              -include $(ROOT)/mak/rules.mak
157              
158              ##==============================================================================
159              ##
160              ## deploy DSC:
161              ##
162              ##==============================================================================
163              
164              deploydsc:
165              	mkdir -p $(SYSCONFDIR)/dsc
166              	mkdir -p $(SYSCONFDIR)/dsc/configuration
167              	mkdir -p $(SYSCONFDIR)/dsc/configuration/schema
168              	mkdir -p $(SYSCONFDIR)/dsc/configuration/schema/MSFT_LogResource
169 krisbash 1.1 	mkdir -p $(SYSCONFDIR)/dsc/configuration/baseregistration
170              	mkdir -p $(SYSCONFDIR)/dsc/configuration/registration
171              	mkdir -p $(SYSCONFDIR)/dsc/configuration/registration/MSFT_LogResource
172              	mkdir -p $(SYSCONFDIR)/dsc/configuration/BuiltinProvCache
173              	mkdir -p $(DATADIR)/dsc
174              	mkdir -p $(DATADIR)/dsc/configuration
175              	mkdir -p $(DATADIR)/dsc/configuration/schema
176              	mkdir -p $(DATADIR)/dsc/configuration/registration
177              	cp  -r $(ROOT)/dsc/mof/OMI_BaseResourceUE.mof $(SYSCONFDIR)/dsc/configuration/baseregistration/baseresource.schema.mof
178              	cp  -r $(ROOT)/dsc/mof/MSFT_DSCMetaConfiguration.mof $(SYSCONFDIR)/dsc/configuration/baseregistration/MSFT_DSCMetaConfiguration.mof
179              	cp  -r $(ROOT)/dsc/mof/MSFT_LogResource.schema.mof $(SYSCONFDIR)/dsc/configuration/schema/MSFT_LogResource
180              	cp  -r $(ROOT)/dsc/mof/MSFT_LogResource.registration.mof $(SYSCONFDIR)/dsc/configuration/registration/MSFT_LogResource
181              	$(BINDIR)/omireg -n "dsc" $(LIBDIR)/libdsccore.so
182              
183              
184              ##==============================================================================
185              ##
186              ## deploy DSC Test:
187              ##
188              ##==============================================================================
189              
190 krisbash 1.1 deploydsctest:
191              	mkdir -p $(SYSCONFDIR)/dsc/configuration/registration/TestResourceModule
192              	mkdir -p $(SYSCONFDIR)/dsc/configuration/registration/Test2ResourceModule
193              	mkdir -p $(SYSCONFDIR)/dsc/configuration/registration/Test3UserResourceModule
194              	mkdir -p $(SYSCONFDIR)/dsc/configuration/registration/TestStopResourceModule
195              	mkdir -p $(SYSCONFDIR)/dsc/configuration/registration/MSFT_FileDirectoryConfiguration
196              	mkdir -p $(SYSCONFDIR)/dsc/configuration/schema/MSFT_FileDirectoryConfiguration
197              	mkdir -p $(SYSCONFDIR)/dsc/configuration/schema/TestResourceModule
198              	mkdir -p $(SYSCONFDIR)/dsc/configuration/schema/Test2ResourceModule
199              	mkdir -p $(SYSCONFDIR)/dsc/configuration/schema/Test3UserResourceModule
200              	mkdir -p $(SYSCONFDIR)/dsc/configuration/schema/TestStopResourceModule
201              	cp -r $(ROOT)/dsc/tests/Module/Reg/OMI_TestResourceModule/* $(SYSCONFDIR)/dsc/configuration/registration/TestResourceModule/
202              	cp -r $(ROOT)/dsc/tests/Module/Reg/OMI_Test2ResourceModule/* $(SYSCONFDIR)/dsc/configuration/registration/Test2ResourceModule/
203              	cp -r $(ROOT)/dsc/tests/Module/Reg/OMI_Test3UserResourceModule/* $(SYSCONFDIR)/dsc/configuration/registration/Test3UserResourceModule/
204              	cp -r $(ROOT)/dsc/tests/Module/Reg/OMI_TestStopResourceModule/* $(SYSCONFDIR)/dsc/configuration/registration/TestStopResourceModule/
205              	cp -r $(ROOT)/dsc/tests/Module/Sch/TestResourceModule/* $(SYSCONFDIR)/dsc/configuration/schema/TestResourceModule/
206              	cp -r $(ROOT)/dsc/tests/Module/Sch/Test2ResourceModule/* $(SYSCONFDIR)/dsc/configuration/schema/Test2ResourceModule/
207              	cp -r $(ROOT)/dsc/tests/Module/Sch/Test3UserResourceModule/* $(SYSCONFDIR)/dsc/configuration/schema/Test3UserResourceModule/
208              	cp -r $(ROOT)/dsc/tests/Module/Sch/TestStopResourceModule/* $(SYSCONFDIR)/dsc/configuration/schema/TestStopResourceModule/
209              	cp -r $(ROOT)/dsc/tests/Engine/TestFileProvider/MSFT_FileDirectoryConfiguration.schema.mof $(SYSCONFDIR)/dsc/configuration/schema/MSFT_FileDirectoryConfiguration
210              	cp -r $(ROOT)/dsc/tests/Engine/TestFileProvider/MSFT_FileDirectoryConfiguration.registration.mof $(SYSCONFDIR)/dsc/configuration/registration/MSFT_FileDirectoryConfiguration
211 krisbash 1.1 	$(BINDIR)/omireg -n "dsc" $(LIBDIR)/libNITSDSCFileTestProvider.so
212              	$(BINDIR)/omireg -n "dsc" $(LIBDIR)/libNITSDSCTestProvider.so
213                      
214              	
215              
216              ##==============================================================================
217              ##
218              ## distclean:
219              ##
220              ##==============================================================================
221              
222              distclean:
223              	rm -rf $(OUTPUTDIR)
224              	rm -rf $(CONFIGUREDIR)/GNUmakefile
225              
226              ##==============================================================================
227              ##
228              ## tests:
229              ##
230              ##==============================================================================
231              
232 krisbash 1.1 ifdef BUILD_TESTS
233              tests:
234              	( LD_LIBRARY_PATH=$(LIBDIR) export LD_LIBRARY_PATH; $(BINDIR)/nits -file:$(TMPDIR)/nitsargs.txt )
235              dsctests:
236              	( LD_LIBRARY_PATH=$(LIBDIR) export LD_LIBRARY_PATH; $(BINDIR)/nits -file:$(TMPDIR)/nitsdscargs.txt )
237              endif
238              
239              ##==============================================================================
240              ##
241              ## dscworld:
242              ##
243              ##==============================================================================
244              
245              __dscworld:
246              	$(MAKE) -f $(ROOT)/build.mak clean
247              	$(MAKE) -f $(ROOT)/build.mak depend
248              	$(MAKE) -f $(ROOT)/build.mak
249              	$(MAKE) -f $(ROOT)/build.mak deploydsc
250              	$(MAKE) -f $(ROOT)/build.mak deploydsctest
251              	$(BINDIR)/omiserver &
252              	$(MAKE) -f $(ROOT)/build.mak dsctests
253 krisbash 1.1 	killall -r omiserver
254              
255              dscworld:
256              	time $(MAKE) -f $(ROOT)/build.mak __dscworld
257              	@ echo
258              	$(MAKE) -f $(ROOT)/build.mak -s size
259              
260              
261              ##==============================================================================
262              ##
263              ## world:
264              ##
265              ##==============================================================================
266              
267              __world:
268              	$(MAKE) -f $(ROOT)/build.mak clean
269              	$(MAKE) -f $(ROOT)/build.mak depend
270              	$(MAKE) -f $(ROOT)/build.mak
271              	$(MAKE) -f $(ROOT)/build.mak tests
272              
273              world:
274 krisbash 1.1 	time $(MAKE) -f $(ROOT)/build.mak __world
275              	@ echo
276              	$(MAKE) -f $(ROOT)/build.mak -s size
277              
278              ##==============================================================================
279              ##
280              ## gen:
281              ##
282              ##==============================================================================
283              
284              GENDIRECTORIES = \
285                  providers/identify \
286                  samples/Providers/Color \
287                  samples/Providers/Connector \
288                  samples/Providers/ConnectorCXX \
289                  samples/Providers/Fan \
290                  samples/Providers/Fastener \
291                  samples/Providers/Number \
292                  samples/Providers/Demo-i2 \
293                  samples/Providers/PersonProvider \
294                  samples/Providers/PersonProviderCXX \
295 krisbash 1.1     samples/Providers/President \
296                  ut/base/tests \
297                  doc/omi/samples/frog \
298                  doc/omi/samples/connector
299              
300              GENFILES=`grep -r -l '@''migen@' .`
301              
302              lsgen:
303              	@ echo $(GENFILES)
304              
305              gen:
306              	@ $(foreach i, $(GENDIRECTORIES), $(MAKE) -C $i gen $(NL) )
307              
308              ##==============================================================================
309              ##
310              ## install/uninstall
311              ##
312              ##==============================================================================
313              
314              SO=$(shell $(BUILDTOOL) shlibext $(BUILDTOOLOPTS)
315              
316 krisbash 1.1 ifneq ($(WORLD)$(DESTDIR),1)
317              
318              install:
319              ifdef DESTDIR
320              	( cd $(CONFIGUREDIR); $(OUTPUTDIR)/install --destdir=$(DESTDIR) )
321              else
322              	( cd $(CONFIGUREDIR); $(OUTPUTDIR)/install )
323              endif
324              
325              uninstall:
326              	( $(OUTPUTDIR)/uninstall )
327              
328              endif
329              
330              ##==============================================================================
331              ##
332              ## dist:
333              ## dist.zip:
334              ##
335              ##==============================================================================
336              
337 krisbash 1.1 DISTTMPDIR=/tmp/omi/$(USER)
338              DIST=omi-$(CONFIG_VERSION)
339              
340              DISTTAR=$(CONFIGUREDIR)/$(DIST).tar
341              
342              DISTTestProviders=samples/Providers
343              
344              distcommon:
345              	@ rm -rf $(DISTTMPDIR)
346              	@ rm -f $(DISTTAR).gz
347              	@ mkdir -p $(DISTTMPDIR)/$(DIST)
348              	@ cp -r . $(DISTTMPDIR)/$(DIST)/
349              	@ rm -rf $(DISTTMPDIR)/$(DIST)/$(OUTPUTDIRNAME)
350              	@ ( cd $(DISTTMPDIR); rm -rf `find . -name CVS` )
351              	@ ( cd $(DISTTMPDIR)/$(DIST); rm -rf scriptext )
352              	@ ( cd $(DISTTMPDIR)/$(DIST); rm -rf wmiadapter )
353              	@ ( cd $(DISTTMPDIR)/$(DIST); rm -rf `find . -name "buildchk.*"` )
354              	@ ( cd $(DISTTMPDIR)/$(DIST); rm -f ./nits/NITS.docx )
355              	@ ( cd $(DISTTMPDIR)/$(DIST); rm -rf ./tools/changes )
356              	@ ( cd $(DISTTMPDIR)/$(DIST); rm -rf ./tools/striplic )
357              	@ ( cd $(DISTTMPDIR)/$(DIST); rm -rf ./tools/dos2unix )
358 krisbash 1.1 	@ ( cd $(DISTTMPDIR)/$(DIST); rm -rf ./GNUmakefile )
359              	@ ( cd $(DISTTMPDIR)/$(DIST)/$(DISTTestProviders); rm -rf Test_BigProvider )
360              	@ ( cd $(DISTTMPDIR)/$(DIST)/$(DISTTestProviders); rm -rf TestClass_ComplexGraphs )
361              	@ ( cd $(DISTTMPDIR)/$(DIST)/$(DISTTestProviders); rm -rf Test_Perf_WMIv2_SingleThread )	
362              	@ ( cd $(DISTTMPDIR)/$(DIST)/$(DISTTestProviders); rm -rf Test_TorSwitchSchema )
363              	@ ( cd $(DISTTMPDIR)/$(DIST)/$(DISTTestProviders); rm -f TestProviders.mak )	
364              	
365              dist: distcommon
366              	@ ( cd $(DISTTMPDIR); tar cf $(DISTTAR) $(DIST) )
367              	@ gzip $(DISTTAR)
368              	@ rm -rf $(DISTTMPDIR)
369              	@ echo "Created $(DISTTAR).gz"
370              
371              DISTZIP=$(CONFIGUREDIR)/$(DIST).zip
372              
373              dist.zip: distcommon
374              	@ ( cd $(DISTTMPDIR); zip -r -q $(DISTZIP) $(DIST); )
375              	@ rm -rf $(DISTTMPDIR)
376              	@ echo "Created $(DISTZIP)"
377              
378              ##==============================================================================
379 krisbash 1.1 ##
380              ## check: check validity of build.
381              ##
382              ##==============================================================================
383              
384              CHECKDIR=/tmp/omicheck.$(shell ./buildtool username)
385              
386              check:
387              	rm -rf $(CHECKDIR)
388              	( cd $(CONFIGUREDIR); $(OUTPUTDIR)/install --destdir=$(CHECKDIR) )
389              	$(CHECKDIR)/$(CONFIG_BINDIR)/omiserver -i -d --livetime 60 --httpport 0 --httpsport 0 --destdir=$(CHECKDIR)
390              	sleep 2
391              	( export LD_LIBRARY_PATH=$(CHECKDIR)/$(CONFIG_LIBDIR); $(CHECKDIR)/$(CONFIG_BINDIR)/omicheck --destdir=$(CHECKDIR) )
392              	sleep 2
393              	$(CHECKDIR)/$(CONFIG_BINDIR)/omiserver -s --destdir=$(CHECKDIR)
394              	sleep 2
395              	rm -rf $(CHECKDIR)
396              
397              ##==============================================================================
398              ##
399              ## size: print size of omiserver
400 krisbash 1.1 ##
401              ##==============================================================================
402              
403              size:
404              	size $(BINDIR)/omiserver
405              
406              ##==============================================================================
407              ##
408              ## timestamp: generate TIMESTAMP file.
409              ##
410              ##==============================================================================
411              
412              TIMESTAMP=$(shell ./scripts/timestamp)
413              
414              timestamp:
415              	@ rm -f ./TIMESTAMP
416              	@ echo $(TIMESTAMP) > ./TIMESTAMP
417              
418              ##==============================================================================
419              ##
420              ## cleanlog: remove the log files and trace files.
421 krisbash 1.1 ##
422              ##==============================================================================
423              
424              cleanlog:
425              	rm -f $(CONFIG_LOCALSTATEDIR)/log/*.log
426              	rm -f $(CONFIG_LOCALSTATEDIR)/log/*.trc
427              
428              ##==============================================================================
429              ##
430              ## run: 
431              ##
432              ##==============================================================================
433              
434              run:
435              	$(BINDIR)/omiserver -i --testopts
436              
437              ##==============================================================================
438              ##
439              ## start: 
440              ##
441              ##==============================================================================
442 krisbash 1.1 
443              start:
444              	$(BINDIR)/omiserver -i -d
445              
446              ##==============================================================================
447              ##
448              ## stop: 
449              ##
450              ##==============================================================================
451              
452              stop:
453              	$(BINDIR)/omiserver -s
454              
455              ##==============================================================================
456              ##
457              ## oigenc: 
458              ##
459              ##==============================================================================
460              
461              OIGENC_IN=./base/oi_traces.h
462              OIGENC_OUT=./base/oiomi.h
463 krisbash 1.1 
464              oigenc:
465              	chmod +w $(OIGENC_IN)
466              	chmod +w $(OIGENC_OUT)
467              	$(BINDIR)/oigenc FILE $(OIGENC_IN) $(OIGENC_OUT)
468              
469              ##==============================================================================
470              ##
471              ## cachegrind arguments:
472              ##
473              ##==============================================================================
474              
475              CACHEGRIND_ARGS = $(BINDIR)/omiserver -i --testopts -l

ViewCVS 0.9.2