1# ===========================================================================
2#
3#                            PUBLIC DOMAIN NOTICE
4#               National Center for Biotechnology Information
5#
6#  This software/database is a "United States Government Work" under the
7#  terms of the United States Copyright Act.  It was written as part of
8#  the author's official duties as a United States Government employee and
9#  thus cannot be copyrighted.  This software/database is freely available
10#  to the public for use. The National Library of Medicine and the U.S.
11#  Government have not placed any restriction on its use or reproduction.
12#
13#  Although all reasonable efforts have been taken to ensure the accuracy
14#  and reliability of the software and data, the NLM and the U.S.
15#  Government do not and cannot warrant the performance or results that
16#  may be obtained by using this software or data. The NLM and the U.S.
17#  Government disclaim all warranties, express or implied, including
18#  warranties of performance, merchantability or fitness for any particular
19#  purpose.
20#
21#  Please cite the author in any work or product based on this material.
22#
23# ===========================================================================
24
25
26default: std
27
28TOP ?= $(abspath ../..)
29MODULE = libs/axf
30
31INT_LIBS = \
32	libaxf \
33	libwaxf
34
35ALL_LIBS = \
36	$(INT_LIBS)
37
38OBJFILES =     \
39	$(AXF_OBJ) \
40	$(WAXF_OBJ)
41
42include $(TOP)/build/Makefile.env
43
44#-------------------------------------------------------------------------------
45# outer targets
46#
47all std: makedirs compile
48	@ $(MAKE_CMD) $(TARGDIR)/std
49
50$(ALL_LIBS): makedirs
51	@ $(MAKE_CMD) $(TARGDIR)/$@
52
53.PHONY: all std $(ALL_LIBS)
54
55#-------------------------------------------------------------------------------
56# std
57#
58$(TARGDIR)/std: \
59	$(addprefix $(TARGDIR)/,$(ALL_LIBS))
60
61.PHONY: $(TARGDIR)/all $(TARGDIR)/std
62
63#-------------------------------------------------------------------------------
64# clean
65#
66clean: stdclean
67
68.PHONY: clean
69
70#-------------------------------------------------------------------------------
71# alignment transform library
72#
73$(TARGDIR)/libaxf: $(addprefix $(ILIBDIR)/libaxf.,$(ILIBEXT))
74
75AXF_SRC = \
76	ref-tbl-sub-select \
77	ref-restore-read \
78	align-restore-read \
79	raw-restore-read \
80	raw-restore-qual \
81	seq-restore-read \
82	seq-restore-linkage-group \
83	seq-construct-read \
84	cigar \
85	project_read_from_sequence \
86	not-my-row \
87	template-len \
88	get-sam-flags \
89	align-ref-pos \
90	align-ref-name \
91	align-ref-seq-id \
92	align-local_ref_id \
93	align-local_ref_start \
94	generate-mismatch-qual \
95	mismatch-restore-qual \
96	ref-preserve_qual \
97	ref-tbl \
98	make-cmp-read_desc \
99	get_mate_align_ids \
100	range-list \
101	refseq \
102	wgs \
103	restore-read
104
105AXF_OBJ = \
106	$(addsuffix .$(LOBX),$(AXF_SRC))
107
108AXF_LIB = \
109	-lalign-reader \
110	-dvdb \
111	-dkdb \
112	-dklib \
113	-dm \
114	-dz
115
116$(ILIBDIR)/libaxf.$(LIBX): $(AXF_OBJ)
117	$(LD) --slib -o $@ $^ $(AXF_LIB)
118
119
120#-------------------------------------------------------------------------------
121# alignment transform update library
122#
123$(TARGDIR)/libwaxf: $(addprefix $(ILIBDIR)/libwaxf.,$(ILIBEXT))
124
125WAXF_SRC = \
126	$(AXF_SRC) \
127	refseq-stats
128
129WAXF_OBJ = \
130	$(addsuffix .$(LOBX),$(WAXF_SRC))
131
132WAXF_LIB = \
133	-lalign-reader \
134	-dwvdb \
135	-dwkdb \
136	-lkfg \
137	-dklib \
138	-dm \
139	-dz
140
141$(ILIBDIR)/libwaxf.$(LIBX): $(WAXF_OBJ)
142	$(LD) --slib -o $@ $^ $(WAXF_LIB)
143
144compile: stdcompile
145
146$(TARGDIR)/compile: $(OBJFILES)
147
148#-------------------------------------------------------------------------------
149# fuzz
150#
151fuzz: std
152	cp $(addsuffix .$(LIBX),$(addprefix $(ILIBDIR)/,$(INT_LIBS))) $(FLIBDIR)/
153