1# $Id: Makefile.sources 484985 2015-11-17 19:49:04Z ucko $
2#
3# Generate ASN.1 serialization code in the "objects/" projects
4
5# Default directory settings, corresponding to an import_project.sh-
6# produced layout; normal builds will override these on the command line.
7# NB: builddir is interpreted relative to subdirectories!
8builddir = ../..
9srcdir   = .
10
11include $(builddir)/Makefile.mk
12
13MODULES = omssa access biblio blast blastdb blastxml blastxml2 cdd cn3d docsum biotree \
14          entrez2 entrezgene featdef gbseq general id1 id2 insdseq \
15          macro medlars medline mim mla mmdb1 mmdb2 mmdb3 ncbimime objprt \
16          proj pub pubmed scoremat seq seqalign seqblock seqcode \
17          seqfeat seqloc seqsplit seqres seqset submit taxon1 taxon3 tinyseq \
18          pcsubstance pcassay remap homologene seqedit seqtable seqtest \
19          trackmgr gbproj valerr valid genesbyloc
20
21new_module = $(builddir)/new_module.sh
22
23all all_files sources makefiles directories purge_sources purge_all_sources purge_all_files:
24	+cd $(srcdir) || exit 2; \
25	for i in $(MODULES); do \
26	  if test -f "$$i/$$i.asn"; then \
27	    MAKE="$(MAKE) $(MFLAGS)"; export MAKE; \
28	    ( cd $$i && $(new_module) $$i $@; ) \
29	    || case "$(MFLAGS)" in *k*) ;; *) exit 2 ;; esac; \
30	  else \
31	    echo "Warning: $$i/$$i.asn not found (skipping)"; \
32	  fi; \
33	done
34
35all_r all_p: all
36
37refresh: clean_sources
38	$(MAKE) all
39
40clean_sources:
41	for i in $(MODULES); do \
42	    rm -f $(srcdir)/$$i/$$i.files; \
43	done
44
45ASNFILES = $(MODULES:%=$(srcdir)/%/%.asn)
46
47$(srcdir)/all.asn: $(ASNFILES)
48	cat $(ASNFILES) >$@
49
50all.asn: $(srcdir)/all.asn
51
52clean clean_r clean_p purge purge_r purge_p:
53