source: JEM-EUSO/esaf_lal/tags/v1_r0/esaf/packages/simulation/externals/cfortran/GNUmakefile @ 117

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

ESAF version compilable on mac OS

File size: 1.9 KB
Line 
1# ESAF : Euso Simulation and Analysis Framework
2# $Id: GNUmakefile 2138 2005-10-02 15:57:45Z thea $
3# A.Thea - created Mar, 13 2004
4#
5# GNUmakefile for cfortran
6
7PACKAGENAME := cfortran
8
9ifndef ESAFINSTALL
10ESAFINSTALL = ../../../../
11endif
12
13ESAFPACKAGES = $(ESAFINSTALL)/packages
14# Config parameters
15
16include $(ESAFINSTALL)/packages/config.gmk
17
18# Include paths needed for rootcint dictionary generation
19
20INCLUDES += -I$(ESAFPACKAGES)/common/base/include
21INCLUDES += -I$(ESAFPACKAGES)/common/root/include
22
23# headers and settings needed for the local library compilation
24CXXFLAGS += $(INCLUDES)
25
26DUMMY := $(shell [ ! -d $(PACKAGETMP) ] && mkdir -p $(PACKAGETMP) )
27
28PACKAGES   := $(wildcard src/*.c)
29PACKAGEH   := $(filter-out $(wildcard include/*LinkDef.hh),$(wildcard include/*.hh))
30PACKAGEO   := $(patsubst src/%.c,$(PACKAGETMP)/%.o,$(PACKAGES))
31PACKAGEDEP := $(PACKAGEO:.o=.d)
32
33CXXFLAGS   += -I.
34
35$(PACKAGELIB): $(PACKAGETMP)/obj.last
36        @echo Building $(@F)...
37        @$(CXX) $(SO_OPTS) $(CXXFLAGS) $(PACKAGEO) -L$(LIBDIR) -o $@
38
39obj: $(PACKAGETMP)/obj.last
40
41lib: $(PACKAGELIB)
42
43dict: $(PACKAGELIB)
44
45# Touch the versioning file
46$(PACKAGETMP)/obj.last: $(PACKAGEO)
47        @touch $@
48
49# Build objects
50$(PACKAGETMP)/%.o : src/%.c
51        @echo Compiling $(<F)
52ifdef CPPVERBOSE
53        $(CXX) -c $(CXXFLAGS) $< -o $@
54else
55        @$(CXX) -c $(CXXFLAGS) $< -o $@
56endif
57
58clean:
59        @echo Cleaning up $(PACKAGENAME)
60        @rm -f $(PACKAGELIB)
61        @rm -rf $(PACKAGETMP)
62        @rm -f tags
63
64#dependencies
65$(PACKAGETMP)/%.d: src/%.c
66        @echo Making dependency for file $< ...
67        @set -e; rmkdepend -f- -Y -w3000 -- $(CXXFLAGS) $< 2> /dev/null \
68                | sed 's!\($*\)\.o[ :]*!$(PACKAGETMP)/\1.o $@ : !g' > $@; \
69                [ -s $@ ] || rm -f $@
70
71ifneq ($(PACKAGEDEP),)
72-include $(PACKAGEDEP)
73endif
74
75.PHONY: obj lib dict clean tags doc
76
77tags:
78#       @echo Creating tags file
79        @-ctags -l c++ -T -S -w src/*.c include/*.hh
80
81doc:
82        @echo Creating documentation
83        @$(ESAFPACKAGES)/tools/MakeListOfClasses.pl $(PACKAGENAME) dummy $(ESAFDOC)
Note: See TracBrowser for help on using the repository browser.