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

ViewCVS 0.9.2