diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2009-03-02 12:14:54 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2009-03-02 12:14:54 +0200 |
commit | 6c63b913179127e09ed7d9da8920493ccceec6ce (patch) | |
tree | 95684b51b4ab60e6468a592a53e33c2cf00027ab /dist/examples/cxx/parser/library | |
parent | 3fd3cfc36784be43f545f2f0973e3dc58f475996 (diff) |
Add make support for creating binary distributions
Two new make targets, dist and dist-win, were added that allow one
to create a binary distribution from the current build. The dist
target creates a UNIX distribution while dist-win -- Windows.
The simplified build systems for the runtime library and examples
that were kept separately are now part of the project (the dist/
subdirectory).
Diffstat (limited to 'dist/examples/cxx/parser/library')
-rw-r--r-- | dist/examples/cxx/parser/library/makefile | 55 | ||||
-rw-r--r-- | dist/examples/cxx/parser/library/nmakefile | 53 |
2 files changed, 108 insertions, 0 deletions
diff --git a/dist/examples/cxx/parser/library/makefile b/dist/examples/cxx/parser/library/makefile new file mode 100644 index 0000000..a0ed792 --- /dev/null +++ b/dist/examples/cxx/parser/library/makefile @@ -0,0 +1,55 @@ +root := ../../../.. + +include $(root)/build/cxx/rules.make + +# Build. +# +EXTRA_CPPFLAGS += -I$(root)/libxsde + +ifeq ($(XSDE_LONGLONG),n) +EXTRA_XSDFLAGS += --no-long-long +endif + +ifeq ($(XSDE_PARSER_VALIDATION),n) +EXTRA_XSDFLAGS += --suppress-validation +endif + +ifeq ($(XSDE_REUSE_STYLE),mixin) +EXTRA_XSDFLAGS += --reuse-style-mixin +endif + +ifeq ($(XSDE_POLYMORPHIC),y) +EXTRA_XSDFLAGS += --runtime-polymorphic +endif + +ifeq ($(XSDE_REUSE_STYLE),mixin) +impl := library-pimpl-mixin +else +impl := library-pimpl-tiein +endif + +driver: driver.o library-pskel.o $(impl).o $(root)/libxsde/xsde/libxsde.a + +driver.o: driver.cxx $(impl).hxx library-pskel.hxx library.hxx +$(impl).o: $(impl).cxx $(impl).hxx library-pskel.hxx library.hxx +library-pskel.o: library-pskel.cxx library-pskel.hxx library.hxx + +.PRECIOUS: %-pskel.hxx %-pskel.cxx + +%-pskel.hxx %-pskel.cxx: %.xsd %.map + $(root)/bin/xsde cxx-parser $(XSDFLAGS) $(EXTRA_XSDFLAGS) \ +--type-map $*.map $< + + +# Test. +# +.PHONY: test +test: driver library.xml + ./driver library.xml + + +# Clean. +# +.PHONY: clean +clean: + rm -f library-pskel.?xx $(impl).o library-pskel.o driver.o driver diff --git a/dist/examples/cxx/parser/library/nmakefile b/dist/examples/cxx/parser/library/nmakefile new file mode 100644 index 0000000..42d2a71 --- /dev/null +++ b/dist/examples/cxx/parser/library/nmakefile @@ -0,0 +1,53 @@ +root = ..\..\..\.. + +!include $(root)\build\cxx\rules.nmake + +# Build. +# +EXTRA_CPPFLAGS = /I$(root)\libxsde + +!if "$(XSDE_LONGLONG)" == "n" +EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-long-long +!endif + +!if "$(XSDE_PARSER_VALIDATION)" == "n" +EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --suppress-validation +!endif + +!if "$(XSDE_REUSE_STYLE)" == "mixin" +EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --reuse-style-mixin +!endif + +!if "$(XSDE_POLYMORPHIC)" == "y" +EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --runtime-polymorphic +!endif + +!if "$(XSDE_REUSE_STYLE)" == "mixin" +impl = library-pimpl-mixin +!else +impl = library-pimpl-tiein +!endif + +driver.exe: driver.obj library-pskel.obj $(impl).obj $(root)\libxsde\xsde\xsde.lib + +driver.obj: driver.cxx $(impl).hxx library-pskel.hxx library.hxx +$(impl).obj: $(impl).cxx $(impl).hxx library-pskel.hxx library.hxx +library-pskel.obj: library-pskel.cxx library-pskel.hxx library.hxx + + +library-pskel.hxx library-pskel.cxx: library.xsd library.map + $(root)\bin\xsde.exe cxx-parser $(XSDFLAGS) $(EXTRA_XSDFLAGS) \ +--type-map library.map library.xsd + + +# Test. +# +test: driver.exe library.xml + .\driver.exe library.xml + + +# Clean. +# +clean: + -del library-pskel.?xx $(impl).obj library-pskel.obj driver.obj driver.exe + |