From 6c63b913179127e09ed7d9da8920493ccceec6ce Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 2 Mar 2009 12:14:54 +0200 Subject: 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). --- dist/examples/cxx/parser/library/makefile | 55 ++++++++++++++++++++++++++++++ dist/examples/cxx/parser/library/nmakefile | 53 ++++++++++++++++++++++++++++ 2 files changed, 108 insertions(+) create mode 100644 dist/examples/cxx/parser/library/makefile create mode 100644 dist/examples/cxx/parser/library/nmakefile (limited to 'dist/examples/cxx/parser/library') 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 + -- cgit v1.1