diff options
Diffstat (limited to 'dist/libxsde/xsde/makefile')
-rw-r--r-- | dist/libxsde/xsde/makefile | 547 |
1 files changed, 547 insertions, 0 deletions
diff --git a/dist/libxsde/xsde/makefile b/dist/libxsde/xsde/makefile new file mode 100644 index 0000000..7ce4bdc --- /dev/null +++ b/dist/libxsde/xsde/makefile @@ -0,0 +1,547 @@ +root := ../.. + +include $(root)/build/config.make +include $(root)/build/c/rules.make +include $(root)/build/cxx/rules.make + +EXTRA_CPPFLAGS := -I.. + +src := c/expat/xmlparse.c c/expat/xmlrole.c c/expat/xmltok.c +src += c/genx/genx.c c/genx/char-props.c + +src += cxx/string.cxx cxx/ro-string.cxx + +ifeq ($(XSDE_STL),n) +src += cxx/strdupx.cxx +endif + +ifeq ($(XSDE_EXCEPTIONS),n) +src += cxx/sys-error.cxx +endif + +ifneq ($(XSDE_PARSER_VALIDATION)$(XSDE_SERIALIZER_VALIDATION),nn) +src += cxx/schema-error.cxx +endif + +ifeq ($(XSDE_POLYMORPHIC),y) +src += cxx/hashmap.cxx +endif + +# Common data types. +# +src += cxx/buffer.cxx cxx/sequence-base.cxx + +ifeq ($(XSDE_STL),y) +src += cxx/string-sequence-stl.cxx +else +src += cxx/qname.cxx cxx/string-sequence.cxx +endif + + +## XML +## +ifneq ($(XSDE_PARSER_VALIDATION)$(XSDE_SERIALIZER_VALIDATION),nn) +src += cxx/xml/char-table.cxx cxx/xml/ncname.cxx +endif + + +## C++/Hybrid +## +src += cxx/hybrid/sequence.cxx + + +## C++/Parser +## +src += cxx/parser/elements.cxx cxx/parser/state.cxx +src += cxx/parser/expat/document.cxx cxx/parser/expat/xml-error.cxx + +ifeq ($(XSDE_POLYMORPHIC),y) +src += cxx/parser/map.cxx cxx/parser/substitution-map.cxx +endif + +ifeq ($(XSDE_EXCEPTIONS),y) +src += cxx/parser/exceptions.cxx +else +src += cxx/parser/error.cxx +endif + +# Parser implementations. +# +ifeq ($(XSDE_PARSER_VALIDATION),y) + +src += \ +cxx/parser/validating/parser.cxx \ +cxx/parser/validating/time-zone.cxx \ +cxx/parser/validating/xml-schema-pskel.cxx + +ifeq ($(XSDE_POLYMORPHIC),y) +src += cxx/parser/validating/inheritance-map.cxx +endif + +src += \ +cxx/parser/validating/boolean.cxx \ +cxx/parser/validating/number.cxx \ +cxx/parser/validating/byte.cxx \ +cxx/parser/validating/unsigned-byte.cxx \ +cxx/parser/validating/short.cxx \ +cxx/parser/validating/unsigned-short.cxx \ +cxx/parser/validating/int.cxx \ +cxx/parser/validating/unsigned-int.cxx \ +cxx/parser/validating/integer.cxx \ +cxx/parser/validating/negative-integer.cxx \ +cxx/parser/validating/non-positive-integer.cxx \ +cxx/parser/validating/positive-integer.cxx \ +cxx/parser/validating/non-negative-integer.cxx \ +cxx/parser/validating/float.cxx \ +cxx/parser/validating/double.cxx \ +cxx/parser/validating/decimal.cxx + +ifeq ($(XSDE_LONGLONG),y) +src += \ +cxx/parser/validating/long-long.cxx \ +cxx/parser/validating/unsigned-long-long.cxx +else +src += \ +cxx/parser/validating/long.cxx \ +cxx/parser/validating/unsigned-long.cxx +endif + +ifeq ($(XSDE_STL),y) + +src += \ +cxx/parser/validating/string-stl.cxx \ +cxx/parser/validating/normalized-string-stl.cxx \ +cxx/parser/validating/token-stl.cxx \ +cxx/parser/validating/name-stl.cxx \ +cxx/parser/validating/nmtoken-stl.cxx \ +cxx/parser/validating/nmtokens-stl.cxx \ +cxx/parser/validating/ncname-stl.cxx \ +cxx/parser/validating/id-stl.cxx \ +cxx/parser/validating/idref-stl.cxx \ +cxx/parser/validating/idrefs-stl.cxx \ +cxx/parser/validating/language-stl.cxx \ +cxx/parser/validating/uri-stl.cxx \ +cxx/parser/validating/qname-stl.cxx + +else + +src += \ +cxx/parser/validating/string.cxx \ +cxx/parser/validating/normalized-string.cxx \ +cxx/parser/validating/token.cxx \ +cxx/parser/validating/name.cxx \ +cxx/parser/validating/nmtoken.cxx \ +cxx/parser/validating/nmtokens.cxx \ +cxx/parser/validating/ncname.cxx \ +cxx/parser/validating/id.cxx \ +cxx/parser/validating/idref.cxx \ +cxx/parser/validating/idrefs.cxx \ +cxx/parser/validating/language.cxx \ +cxx/parser/validating/uri.cxx \ +cxx/parser/validating/qname.cxx + +endif # stl + +src += \ +cxx/parser/validating/base64-binary.cxx \ +cxx/parser/validating/hex-binary.cxx \ +cxx/parser/validating/gday.cxx \ +cxx/parser/validating/gmonth.cxx \ +cxx/parser/validating/gyear.cxx \ +cxx/parser/validating/gmonth-day.cxx \ +cxx/parser/validating/gyear-month.cxx \ +cxx/parser/validating/date.cxx \ +cxx/parser/validating/time.cxx \ +cxx/parser/validating/date-time.cxx \ +cxx/parser/validating/duration.cxx + +else # validation + +src += \ +cxx/parser/non-validating/parser.cxx \ +cxx/parser/non-validating/time-zone.cxx \ +cxx/parser/non-validating/xml-schema-pskel.cxx + +src += \ +cxx/parser/non-validating/boolean.cxx \ +cxx/parser/non-validating/number.cxx \ +cxx/parser/non-validating/byte.cxx \ +cxx/parser/non-validating/unsigned-byte.cxx \ +cxx/parser/non-validating/short.cxx \ +cxx/parser/non-validating/unsigned-short.cxx \ +cxx/parser/non-validating/int.cxx \ +cxx/parser/non-validating/unsigned-int.cxx \ +cxx/parser/non-validating/integer.cxx \ +cxx/parser/non-validating/negative-integer.cxx \ +cxx/parser/non-validating/non-positive-integer.cxx \ +cxx/parser/non-validating/positive-integer.cxx \ +cxx/parser/non-validating/non-negative-integer.cxx \ +cxx/parser/non-validating/float.cxx \ +cxx/parser/non-validating/double.cxx \ +cxx/parser/non-validating/decimal.cxx + +ifeq ($(XSDE_LONGLONG),y) +src += \ +cxx/parser/non-validating/long-long.cxx \ +cxx/parser/non-validating/unsigned-long-long.cxx +else +src += \ +cxx/parser/non-validating/long.cxx \ +cxx/parser/non-validating/unsigned-long.cxx +endif + +ifeq ($(XSDE_STL),y) + +src += \ +cxx/parser/non-validating/string-stl.cxx \ +cxx/parser/non-validating/normalized-string-stl.cxx \ +cxx/parser/non-validating/token-stl.cxx \ +cxx/parser/non-validating/name-stl.cxx \ +cxx/parser/non-validating/nmtoken-stl.cxx \ +cxx/parser/non-validating/nmtokens-stl.cxx \ +cxx/parser/non-validating/ncname-stl.cxx \ +cxx/parser/non-validating/id-stl.cxx \ +cxx/parser/non-validating/idref-stl.cxx \ +cxx/parser/non-validating/idrefs-stl.cxx \ +cxx/parser/non-validating/language-stl.cxx \ +cxx/parser/non-validating/uri-stl.cxx \ +cxx/parser/non-validating/qname-stl.cxx + +else + +src += \ +cxx/parser/non-validating/string.cxx \ +cxx/parser/non-validating/normalized-string.cxx \ +cxx/parser/non-validating/token.cxx \ +cxx/parser/non-validating/name.cxx \ +cxx/parser/non-validating/nmtoken.cxx \ +cxx/parser/non-validating/nmtokens.cxx \ +cxx/parser/non-validating/ncname.cxx \ +cxx/parser/non-validating/id.cxx \ +cxx/parser/non-validating/idref.cxx \ +cxx/parser/non-validating/idrefs.cxx \ +cxx/parser/non-validating/language.cxx \ +cxx/parser/non-validating/uri.cxx \ +cxx/parser/non-validating/qname.cxx + +endif # stl + +src += \ +cxx/parser/non-validating/base64-binary.cxx \ +cxx/parser/non-validating/hex-binary.cxx \ +cxx/parser/non-validating/gday.cxx \ +cxx/parser/non-validating/gmonth.cxx \ +cxx/parser/non-validating/gyear.cxx \ +cxx/parser/non-validating/gmonth-day.cxx \ +cxx/parser/non-validating/gyear-month.cxx \ +cxx/parser/non-validating/date.cxx \ +cxx/parser/non-validating/time.cxx \ +cxx/parser/non-validating/date-time.cxx \ +cxx/parser/non-validating/duration.cxx + +endif # validation + + +## C++/Serializer +## +src += cxx/serializer/elements.cxx cxx/serializer/context.cxx +src += cxx/serializer/genx/document.cxx cxx/serializer/genx/xml-error.cxx + +ifeq ($(XSDE_POLYMORPHIC),y) +src += cxx/serializer/map.cxx cxx/serializer/substitution-map.cxx +endif + +ifeq ($(XSDE_EXCEPTIONS),y) +src += cxx/serializer/exceptions.cxx +else +src += cxx/serializer/error.cxx +endif + +# Serializer implementations. +# +ifeq ($(XSDE_SERIALIZER_VALIDATION),y) + +src += \ +cxx/serializer/validating/serializer.cxx \ +cxx/serializer/validating/time-zone.cxx \ +cxx/serializer/validating/xml-schema-sskel.cxx + +ifeq ($(XSDE_POLYMORPHIC),y) +src += cxx/serializer/validating/inheritance-map.cxx +endif + +src += \ +cxx/serializer/validating/boolean.cxx \ +cxx/serializer/validating/byte.cxx \ +cxx/serializer/validating/unsigned-byte.cxx \ +cxx/serializer/validating/short.cxx \ +cxx/serializer/validating/unsigned-short.cxx \ +cxx/serializer/validating/int.cxx \ +cxx/serializer/validating/unsigned-int.cxx \ +cxx/serializer/validating/integer.cxx \ +cxx/serializer/validating/negative-integer.cxx \ +cxx/serializer/validating/non-positive-integer.cxx \ +cxx/serializer/validating/positive-integer.cxx \ +cxx/serializer/validating/non-negative-integer.cxx \ +cxx/serializer/validating/float.cxx \ +cxx/serializer/validating/double.cxx \ +cxx/serializer/validating/decimal.cxx + +ifeq ($(XSDE_LONGLONG),y) +src += \ +cxx/serializer/validating/long-long.cxx \ +cxx/serializer/validating/unsigned-long-long.cxx +else +src += \ +cxx/serializer/validating/long.cxx \ +cxx/serializer/validating/unsigned-long.cxx +endif + +ifeq ($(XSDE_STL),y) + +src += \ +cxx/serializer/validating/string-stl.cxx \ +cxx/serializer/validating/normalized-string-stl.cxx \ +cxx/serializer/validating/token-stl.cxx \ +cxx/serializer/validating/name-stl.cxx \ +cxx/serializer/validating/nmtoken-stl.cxx \ +cxx/serializer/validating/ncname-stl.cxx \ +cxx/serializer/validating/id-stl.cxx \ +cxx/serializer/validating/idref-stl.cxx \ +cxx/serializer/validating/language-stl.cxx \ +cxx/serializer/validating/uri-stl.cxx \ +cxx/serializer/validating/idrefs-stl.cxx \ +cxx/serializer/validating/nmtokens-stl.cxx \ +cxx/serializer/validating/qname-stl.cxx + +else + +src += \ +cxx/serializer/validating/string.cxx \ +cxx/serializer/validating/normalized-string.cxx \ +cxx/serializer/validating/token.cxx \ +cxx/serializer/validating/name.cxx \ +cxx/serializer/validating/nmtoken.cxx \ +cxx/serializer/validating/ncname.cxx \ +cxx/serializer/validating/id.cxx \ +cxx/serializer/validating/idref.cxx \ +cxx/serializer/validating/language.cxx \ +cxx/serializer/validating/uri.cxx \ +cxx/serializer/validating/idrefs.cxx \ +cxx/serializer/validating/nmtokens.cxx \ +cxx/serializer/validating/qname.cxx + +endif # stl + +src += \ +cxx/serializer/validating/base64-binary.cxx \ +cxx/serializer/validating/hex-binary.cxx \ +cxx/serializer/validating/gday.cxx \ +cxx/serializer/validating/gmonth.cxx \ +cxx/serializer/validating/gyear.cxx \ +cxx/serializer/validating/gmonth-day.cxx \ +cxx/serializer/validating/gyear-month.cxx \ +cxx/serializer/validating/date.cxx \ +cxx/serializer/validating/time.cxx \ +cxx/serializer/validating/date-time.cxx \ +cxx/serializer/validating/duration.cxx + +else # validation + +src += \ +cxx/serializer/non-validating/serializer.cxx \ +cxx/serializer/non-validating/time-zone.cxx \ +cxx/serializer/non-validating/xml-schema-sskel.cxx + +src += \ +cxx/serializer/non-validating/boolean.cxx \ +cxx/serializer/non-validating/byte.cxx \ +cxx/serializer/non-validating/unsigned-byte.cxx \ +cxx/serializer/non-validating/short.cxx \ +cxx/serializer/non-validating/unsigned-short.cxx \ +cxx/serializer/non-validating/int.cxx \ +cxx/serializer/non-validating/unsigned-int.cxx \ +cxx/serializer/non-validating/integer.cxx \ +cxx/serializer/non-validating/negative-integer.cxx \ +cxx/serializer/non-validating/non-positive-integer.cxx \ +cxx/serializer/non-validating/positive-integer.cxx \ +cxx/serializer/non-validating/non-negative-integer.cxx \ +cxx/serializer/non-validating/float.cxx \ +cxx/serializer/non-validating/double.cxx \ +cxx/serializer/non-validating/decimal.cxx + +ifeq ($(XSDE_LONGLONG),y) +src += \ +cxx/serializer/non-validating/long-long.cxx \ +cxx/serializer/non-validating/unsigned-long-long.cxx +else +src += \ +cxx/serializer/non-validating/long.cxx \ +cxx/serializer/non-validating/unsigned-long.cxx +endif + +ifeq ($(XSDE_STL),y) + +src += \ +cxx/serializer/non-validating/string-stl.cxx \ +cxx/serializer/non-validating/normalized-string-stl.cxx \ +cxx/serializer/non-validating/token-stl.cxx \ +cxx/serializer/non-validating/name-stl.cxx \ +cxx/serializer/non-validating/nmtoken-stl.cxx \ +cxx/serializer/non-validating/ncname-stl.cxx \ +cxx/serializer/non-validating/id-stl.cxx \ +cxx/serializer/non-validating/idref-stl.cxx \ +cxx/serializer/non-validating/language-stl.cxx \ +cxx/serializer/non-validating/uri-stl.cxx \ +cxx/serializer/non-validating/idrefs-stl.cxx \ +cxx/serializer/non-validating/nmtokens-stl.cxx \ +cxx/serializer/non-validating/qname-stl.cxx + +else + +src += \ +cxx/serializer/non-validating/string.cxx \ +cxx/serializer/non-validating/normalized-string.cxx \ +cxx/serializer/non-validating/token.cxx \ +cxx/serializer/non-validating/name.cxx \ +cxx/serializer/non-validating/nmtoken.cxx \ +cxx/serializer/non-validating/ncname.cxx \ +cxx/serializer/non-validating/id.cxx \ +cxx/serializer/non-validating/idref.cxx \ +cxx/serializer/non-validating/language.cxx \ +cxx/serializer/non-validating/uri.cxx \ +cxx/serializer/non-validating/idrefs.cxx \ +cxx/serializer/non-validating/nmtokens.cxx \ +cxx/serializer/non-validating/qname.cxx + +endif # stl + +src += \ +cxx/serializer/non-validating/base64-binary.cxx \ +cxx/serializer/non-validating/hex-binary.cxx \ +cxx/serializer/non-validating/gday.cxx \ +cxx/serializer/non-validating/gmonth.cxx \ +cxx/serializer/non-validating/gyear.cxx \ +cxx/serializer/non-validating/gmonth-day.cxx \ +cxx/serializer/non-validating/gyear-month.cxx \ +cxx/serializer/non-validating/date.cxx \ +cxx/serializer/non-validating/time.cxx \ +cxx/serializer/non-validating/date-time.cxx \ +cxx/serializer/non-validating/duration.cxx + +endif # validation + +# +# +obj := $(src:.c=.o) +obj := $(obj:.cxx=.o) + +# Build. +# +libxsde.a: $(obj) + $(AR) $(ARFLAGS) $@ $^ +ifneq ($(RANLIB),) + $(RANLIB) $@ +endif + +# It is tricky to output # with both POSIX and Windows shells. +# +ifeq ($(shell echo %PATH%),%PATH%) +h := \\\# +shell_type := posix +else +h := \# +shell_type := windows +endif + +$(obj): config.h + +config.h: + @echo generating config.h +ifeq ($(shell_type),windows) + @echo /* Generated - do not edit. */ >$@ +else + @echo "/* Generated - do not edit. */" >$@ +endif + @echo $(h)ifndef XSDE_CONFIG_H >>$@ + @echo $(h)define XSDE_CONFIG_H >>$@ +ifeq ($(XSDE_PLATFORM),wince) + @echo $(h)define XSDE_PLATFORM_WINCE >>$@ +endif +ifeq ($(XSDE_PLATFORM),win32) + @echo $(h)define XSDE_PLATFORM_WIN32 >>$@ +endif +ifeq ($(XSDE_PLATFORM),posix) + @echo $(h)define XSDE_PLATFORM_POSIX >>$@ +endif + @echo $(h)define XSDE_ARCH_WIDTH $(XSDE_ARCH_WIDTH) >>$@ +ifeq ($(XSDE_BYTEORDER),l) + @echo $(h)define XSDE_BYTEORDER 1234 >>$@ +endif +ifeq ($(XSDE_BYTEORDER),b) + @echo $(h)define XSDE_BYTEORDER 4321 >>$@ +endif +ifeq ($(XSDE_STL),y) + @echo $(h)define XSDE_STL >>$@ +endif +ifeq ($(XSDE_IOSTREAM),y) + @echo $(h)define XSDE_IOSTREAM >>$@ +endif +ifeq ($(XSDE_EXCEPTIONS),y) + @echo $(h)define XSDE_EXCEPTIONS >>$@ +endif +ifeq ($(XSDE_LONGLONG),y) + @echo $(h)define XSDE_LONGLONG >>$@ +endif +ifeq ($(XSDE_SNPRINTF),y) + @echo $(h)define XSDE_SNPRINTF >>$@ +endif +ifeq ($(XSDE_PARSER_VALIDATION),y) + @echo $(h)define XSDE_PARSER_VALIDATION >>$@ +endif +ifeq ($(XSDE_SERIALIZER_VALIDATION),y) + @echo $(h)define XSDE_SERIALIZER_VALIDATION >>$@ +endif +ifeq ($(XSDE_REUSE_STYLE),mixin) + @echo $(h)define XSDE_REUSE_STYLE_MIXIN >>$@ +else + @echo $(h)undef XSDE_REUSE_STYLE_MIXIN >>$@ +endif +ifeq ($(XSDE_REUSE_STYLE),tiein) + @echo $(h)define XSDE_REUSE_STYLE_TIEIN >>$@ +else + @echo $(h)undef XSDE_REUSE_STYLE_TIEIN >>$@ +endif +ifeq ($(XSDE_REUSE_STYLE),none) + @echo $(h)define XSDE_REUSE_STYLE_NONE >>$@ +else + @echo $(h)undef XSDE_REUSE_STYLE_NONE >>$@ +endif +ifeq ($(XSDE_POLYMORPHIC),y) + @echo $(h)define XSDE_POLYMORPHIC >>$@ + @echo $(h)define XSDE_PARSER_SMAP_BUCKETS $(XSDE_PARSER_SMAP_BUCKETS)UL >>$@ +ifeq ($(XSDE_PARSER_VALIDATION),y) + @echo $(h)define XSDE_PARSER_IMAP_BUCKETS $(XSDE_PARSER_IMAP_BUCKETS)UL >>$@ +endif + @echo $(h)define XSDE_SERIALIZER_SMAP_BUCKETS $(XSDE_SERIALIZER_SMAP_BUCKETS)UL >>$@ + @echo $(h)define XSDE_SERIALIZER_SMAP_BUCKET_BUCKETS $(XSDE_SERIALIZER_SMAP_BUCKET_BUCKETS)UL >>$@ +ifeq ($(XSDE_SERIALIZER_VALIDATION),y) + @echo $(h)define XSDE_SERIALIZER_IMAP_BUCKETS $(XSDE_SERIALIZER_IMAP_BUCKETS)UL >>$@ +endif +else + @echo $(h)undef XSDE_POLYMORPHIC >>$@ +endif + @echo $(h)endif >>$@ + + +# Test. +# +.PHONY: test +test: libxsde.a + @: + +# Clean. +# +.PHONY: clean +clean: + rm -f libxsde.a $(obj) config.h |