# # $Id$ # # Generate source files and makefiles from ASN.1 spec or XML DTD or schema. # (NOTE: hard-wired for the C++ Toolkit directory structure.) # -include $(builddir)/Makefile.mk SRCDIR = $(top_srcdir)/src/$(MODULE_PATH) INCLUDEDIR = $(top_srcdir)/include/$(MODULE_PATH) # Despite its name, MODULE_ASN may actually be an XML DTD or schema. SPEC = $(MODULE_ASN) # Newer versions of new_module.sh will override IMPFILES, but we keep # the ASN.1-centric default for compatibility with older versions. IMPFILES = $(MODULE_IMPORT:=.asn) FILES = $(MODULE).files ifeq "" "$(wildcard $(MODULE)__.cpp)" NEEDED = $(MODULE)__.cpp else NEEDED = $(FILES) endif all: sources # makefiles all_files: sources # makefiles sources: $(NEEDED) #$(FULL_MODULE) $(FULL_MODULE_BASE) clean_sources: -$(RM) $(FILES) purge_sources: -$(RM) $(FILES) *_.cpp $(INCLUDEDIR)/*_.hpp $(MODULE).dump -$(RM) `grep -l '^[^"]*\$$Id\$$[^"]*$$' *.cpp $(INCLUDEDIR)/*.hpp` purge_all_sources: -$(RM) $(FILES) *.cpp $(INCLUDEDIR)/*.hpp $(MODULE).dump purge_all_files: -$(RM) $(FILES) *.cpp $(INCLUDEDIR)/*.hpp Makefile.$(MODULE).lib \ $(MODULE).dump .NO_PARALLEL: $(NEEDED): $(SPEC) $(DATATOOL) $(MODULE).def $(MODULE).module $(IMPDEPS) $(DATATOOL_WRAPPER) $(DATATOOL) -oR $(top_srcdir) \ -opm $(MODULE_SEARCH) -m $(SPEC) -M "$(IMPFILES)" -oA \ -oc $(MODULE) -or $(MODULE_PATH) -odi -od $(MODULE).def -oex '' \ -ocvs -pch 'ncbi_pch.hpp' -fd $(MODULE).dump \ $(EXTRA_DATATOOL_FLAGS) @[ -f .gitignore ] || $(LN_S) .cvsignore .gitignore @cd $(INCLUDEDIR); [ -f .gitignore ] || $(LN_S) .cvsignore .gitignore makefiles: Makefile.in Makefile.$(MODULE).lib Makefile.in: @if test ! -f $@ ; then echo Creating $@ ; ( echo "ASN_PROJ = $(MODULE)"; echo "srcdir = @srcdir@"; echo "include @builddir@/Makefile.meta"; ) > $@ ; fi Makefile.$(MODULE).lib: @if test ! -f $@ ; then echo Creating $@ ; ( echo 'LIB = $(MODULE)'; echo 'SRC = $(MODULE)__ $(MODULE)___'; ) > $@ ; fi $(MODULE).def: @touch $@ $(MODULE).module: @touch $@ directories: $(MKDIR) -p $(top_srcdir)/src/$(MODULE_PATH) $(MKDIR) -p $(top_srcdir)/include/$(MODULE_PATH)