Fix duplicated building of TCharm .ci files
[charm.git] / src / libs / ck-libs / tcharm / Makefile
1 include ../common.mk
2
3 HEADERS=$(CDIR)/include/tcharm_impl.h $(CDIR)/include/tcharm.h \
4         $(CDIR)/include/tcharmc.h $(CDIR)/include/tcharmf.h \
5         $(CDIR)/include/tcharm.decl.h
6 OBJS=tcharm.o
7 COMPAT=compat_uns.o compat_us.o compat_funs.o compat_fus.o compat_regmm.o
8 CHARMXI=$(CDIR)/tmp/charmxi
9
10 LIB=libmoduletcharm
11 DEST=$(LIBDIR)/$(LIB).a
12 COMPATLIB=$(LIBDIR)/libtcharm-compat.a
13
14 OBJS2=tcharmmain.o
15 LIB2=libmoduletcharmmain
16 DEST2=$(LIBDIR)/$(LIB2).a
17
18 OBJECTS = $(OBJS) $(OBJS2) $(COMPAT)
19 CIFILES = tcharm.decl.h  tcharmmain.decl.h
20
21 .SUFFIXES:
22 .SUFFIXES: .c .o
23
24 all: $(DEST) $(COMPATLIB) $(DEST2)
25
26 $(DEST): $(OBJS) $(HEADERS)
27         $(CHARMC) $(OBJS) -o $@
28         cp $(LIB).dep $(LIBDIR)/$(LIB).dep
29
30 $(DEST2): $(OBJS2) $(HEADERS)
31         $(CHARMC) $(OBJS2) -o $@
32         cp $(LIB2).dep $(LIBDIR)/$(LIB2).dep
33
34 $(COMPATLIB): $(COMPAT) 
35         $(CHARMC) $(COMPAT) -o $@
36
37 tcharm.decl.h: tcharm.ci $(CDIR)/bin/charmxi
38         $(CHARMC) -c $<
39
40 tcharm.def.h: tcharm.decl.h
41
42 tcharmmain.decl.h: tcharmmain.ci $(CDIR)/bin/charmxi
43         $(CHARMC) -c $<
44
45 tcharmmain.def.h: tcharmmain.decl.h
46
47 headers: $(HEADERS)
48
49 clean: 
50         -rm -fr *.o *~ *.decl.h *.def.h gmon.out headers conv-host charmrun
51
52 realclean: clean
53         rm -f $(HEADERS) $(DEST) $(DEST2) $(COMPATLIB)
54
55 DEPENDFILE = Make.depends
56
57 include $(DEPENDFILE)
58
59 depends:  $(CIFILES)
60         echo "Creating " $(DEPENDFILE) " ...";  \
61         if [ -f $(DEPENDFILE) ]; then \
62            /bin/cp -f $(DEPENDFILE) $(DEPENDFILE).old; \
63         fi; \
64         echo '#generated by make depends' > $(DEPENDFILE); \
65         for i in $(OBJECTS) ; do \
66               SRCFILE=`basename $$i .o`.C ; \
67               found=`find . -name $$SRCFILE`; \
68               [ ! $$found ] && SRCFILE=`basename $$i .o`.c ; \
69               echo "checking dependencies for $$i : $$SRCFILE" ; \
70               g++ -MM -Wno-deprecated -I$(CHARMINC) $$SRCFILE >> $(DEPENDFILE); \
71               echo '    $$(CHARMC) -o '$$i $$SRCFILE >> $(DEPENDFILE) ; \
72         done; \
73
74