CMake: prepend_prefix() to every elm in a list
[u/mrichter/AliRoot.git] / cmake / PARfiles / Makefile.in
1 # Makefile for @PARMODULE@ -- automatically generated
2
3 # Include this file from the ROOT installed on the system where we are using the PARfile
4 include $(shell root-config --etcdir)/Makefile.arch
5
6 # Name of this module
7 PAR_MODULE := @PARMODULE@
8
9 # This module depends on the following libraries
10 PAR_LIBDEPS := @PARLIBDEPS@
11
12 # Include paths
13 PAR_INCLUDES = -I. -I$(ALICE_ROOT)/include -I$(ALICE_PHYSICS)/include -I$(shell root-config --incdir)
14
15 # Get C++ flags form ROOT
16 PAR_CXXFLAGS = $(CXXFLAGS) $(PAR_INCLUDES)
17
18 #¬†Get linker flags from ROOT
19 PAR_SOFLAGS = $(SOFLAGS) $(LDFLAGS)
20
21 # Get some ROOT build flags from the current installation
22 ROOT_DEFINES += $(shell root-config --features | grep -q xml && echo '-DWITHXML')
23 ROOT_DEFINES += $(shell root-config --features | grep -q alien && echo '-DWITHALIEN')
24
25 # Exclude generated dictionaries from the list of sources
26 SRCS := $(filter-out $(wildcard G__*.cxx),$(wildcard *.cxx))
27
28 HDRS := $(SRCS:.cxx=.h)
29 DHDR := $(PAR_MODULE)LinkDef.h
30
31 SRCS += G__$(PAR_MODULE).cxx
32 OBJS := $(SRCS:.cxx=.o)
33
34 COLM := \033[35m
35 COLC := \033[36m
36 COLG := \033[32m
37 COLZ := \033[m
38
39 # Default rule (it's the first one, "all" is just a convention)
40 all: lib$(PAR_MODULE).rootmap lib$(PAR_MODULE).so
41         @echo -e "[$(COLM)$(PAR_MODULE)$(COLZ)] $(COLG)PARfile built successfully$(COLZ)"
42
43 # Abstract rule to compile classes to objects
44 %.o: %.cxx %.h
45         @echo -e "[$(COLM)$(PAR_MODULE)$(COLZ)] compiling $(COLC)$<$(COLZ)"
46         @$(CXX) $(PAR_CXXFLAGS) -c $< -o $@
47
48 # Generate library from objects
49 lib$(PAR_MODULE).so: $(OBJS)
50         @echo -e "[$(COLM)$(PAR_MODULE)$(COLZ)]" building shared library
51         @$(LD) $(PAR_SOFLAGS) $^ -o $@ $(EXPLLINKLIBS)
52
53 # Generate dictionary (rule broken up to accommodate parallel builds)
54 G__$(PAR_MODULE).h: G__$(PAR_MODULE).cxx
55
56 G__$(PAR_MODULE).cxx: $(HDRS) $(DHDR)
57         @echo -e "[$(COLM)$(PAR_MODULE)$(COLZ)]" generating dictionary
58         @rootcint -f $@ -c -p $(ROOT_DEFINES) $(PAR_INCLUDES) $^
59
60 # Generate rootmap (for automatic loading of libraries)
61 lib$(PAR_MODULE).rootmap: lib$(PAR_MODULE).so
62         @echo -e "[$(COLM)$(PAR_MODULE)$(COLZ)]" generating rootmap
63         @rlibmap -o $@ -l lib$(PAR_MODULE) -d $(PAR_LIBDEPS) -c $(DHDR)
64
65 # Delete all
66 clean:
67         rm -f $(OBJS) *.so G__$(PAR_MODULE).* *.rootmap