source: JEM-EUSO/esaf_cc_at_lal/packages/common.gmk @ 114

Last change on this file since 114 was 114, checked in by moretto, 11 years ago

actual version of ESAF at CCin2p3

File size: 1.3 KB
Line 
1# common.gmk
2
3# Common part of GNUmakefile
4#
5
6MYTMP := $(ESAFTMP)/$(name)
7DUMMY := $(shell [ ! -d $(MYTMP) ] && mkdir -p $(MYTMP) )
8
9sources := $(wildcard src/*.cc)
10objects := $(patsubst src/%.cc,$(MYTMP)/%.o,$(sources))
11dependencies := $(patsubst src/%.cc,$(MYTMP)/%.d,$(sources))
12
13$(LIBDIR)/lib$(name).a: $(MYTMP)/obj.last
14        @echo Creating/replacing object files in $(LIBDIR)/lib$(name).a
15        @rm -f $(LIBDIR)/lib$(name).a
16ifdef CPPVERBOSE
17        $(AR) r $(LIBDIR)/lib$(name).a $(objects)
18        ranlib $(LIBDIR)/lib$(name).a
19else
20        @$(AR) r $(LIBDIR)/lib$(name).a $(objects)
21        @ranlib $(LIBDIR)/lib$(name).a
22endif
23
24obj: $(MYTMP)/obj.last
25
26lib: $(LIBDIR)/lib$(name).a
27
28# Touch the versioning file
29$(MYTMP)/obj.last: $(objects)
30        @touch $@
31
32$(MYTMP)/%.o : src/%.cc
33        @echo Compiling $<
34ifdef CPPVERBOSE
35        $(CXX) -c $(CXXFLAGS) $< -o $@
36else
37        @$(CXX) -c $(CXXFLAGS) $< -o $@
38endif
39
40$(MYTMP)/%.d: src/%.cc
41        @echo Making dependency for file $< ...
42        @set -e; $(CXX) -MM $(CXXFLAGS) $< \
43                | sed 's!\($*\)\.o[ :]*!$(MYTMP)/\1.o $@ : !g' > $@; \
44                [ -s $@ ] || rm -f $@
45
46ifneq ($(dependencies),)
47-include $(dependencies)
48endif
49
50.PHONY: obj lib clean tags
51
52clean:
53        @echo Cleaning up $(name)
54        @rm -f $(LIBDIR)/lib$(name).a
55        @rm -rf $(MYTMP)
56        @rm -f tags
57
58tags:
59#       @echo Creating tags file
60        @-ctags -l c++ -T -S -w src/*.cc include/*.hh
61
62
Note: See TracBrowser for help on using the repository browser.