]>
Commit | Line | Data |
---|---|---|
f97ec6ec | 1 | include make.inc |
2 | ||
3 | LIB_VER = 1.0.0 | |
4 | ||
5 | #Name of libraries to create | |
6 | LIB_PHOTOS_CXX_INT_SO = libPhotosCxxInterface.so | |
7 | LIB_PHOTOS_CXX_INT_A = libPhotosCxxInterface.a | |
8 | LIB_PHOTOS_FORTRAN_SO = libPhotosFortran.so | |
9 | LIB_PHOTOS_FORTRAN_A = libPhotosFortran.a | |
10 | ||
11 | PHOTOS_CXX_INT_OBJECTS = src/$(EVENT_RECORD_INTERFACE_DIR)/*.o \ | |
12 | src/$(C_PHOTOS_INTERFACE_DIR)/*.o \ | |
13 | src/$(UTILITIES_DIR)/*.o \ | |
14 | src/$(FORTRAN_PHOTOS_INTERFACE_DIR)/*.o | |
15 | ||
16 | PHOTOS_FORTRAN_OBJECTS = src/$(PHOTOS_FORTRAN_DIR)/*.o | |
17 | ||
18 | #directories containing source code | |
19 | EVENT_RECORD_INTERFACE_DIR = eventRecordInterfaces | |
20 | FORTRAN_PHOTOS_INTERFACE_DIR = photosFortranInterfaces | |
21 | C_PHOTOS_INTERFACE_DIR = photosCInterfaces | |
22 | PHOTOS_FORTRAN_DIR = photos-fortran | |
23 | UTILITIES_DIR = utilities | |
24 | ||
25 | ##### Link objects to make library ###### | |
26 | all: include_dir $(EVENT_RECORD_INTERFACE_DIR) $(FORTRAN_PHOTOS_INTERFACE_DIR) $(C_PHOTOS_INTERFACE_DIR) $(PHOTOS_FORTRAN_DIR) $(UTILITIES_DIR) | |
27 | ar cr lib/$(LIB_PHOTOS_CXX_INT_A) $(PHOTOS_CXX_INT_OBJECTS) | |
28 | $(LD) $(LDFLAGS) $(SOFLAGS) -o lib/$(LIB_PHOTOS_CXX_INT_SO).$(LIB_VER) $(PHOTOS_CXX_INT_OBJECTS) | |
29 | ar cr lib/$(LIB_PHOTOS_FORTRAN_A) $(PHOTOS_FORTRAN_OBJECTS) | |
30 | $(LD) $(LDFLAGS) $(SOFLAGS) -o lib/$(LIB_PHOTOS_FORTRAN_SO).$(LIB_VER) $(PHOTOS_FORTRAN_OBJECTS) | |
31 | ln -sf $(LIB_PHOTOS_CXX_INT_SO).$(LIB_VER) lib/$(LIB_PHOTOS_CXX_INT_SO) | |
32 | ln -sf $(LIB_PHOTOS_FORTRAN_SO).$(LIB_VER) lib/$(LIB_PHOTOS_FORTRAN_SO) | |
33 | @echo "##################################################################" | |
34 | @echo " Photos C++ Interface library created and moved to lib/ directory " | |
35 | @echo "##################################################################" | |
36 | @echo "" | |
37 | @echo "##################################################################" | |
38 | @echo " To run examples, cd examples/ directory and there './configure' " | |
39 | @echo " and 'make' again. Examples require Pythia8, ROOT and MC-Tester " | |
40 | @echo " installed. For details see examples/README. " | |
41 | @echo "##################################################################" | |
42 | ||
43 | include_dir: | |
44 | mkdir -p include/Photos | |
45 | ||
46 | ####### Make object files ######## | |
47 | $(FORTRAN_PHOTOS_INTERFACE_DIR): | |
48 | make -C src/$(FORTRAN_PHOTOS_INTERFACE_DIR) | |
49 | cp src/$(FORTRAN_PHOTOS_INTERFACE_DIR)/*.h include/Photos | |
50 | ||
51 | $(EVENT_RECORD_INTERFACE_DIR): | |
52 | make -C src/$(EVENT_RECORD_INTERFACE_DIR) | |
53 | cp src/$(EVENT_RECORD_INTERFACE_DIR)/*.h include/Photos | |
54 | ||
55 | $(C_PHOTOS_INTERFACE_DIR): | |
56 | make -C src/$(C_PHOTOS_INTERFACE_DIR) | |
57 | cp src/$(C_PHOTOS_INTERFACE_DIR)/*.h include/Photos | |
58 | ||
59 | $(UTILITIES_DIR): | |
60 | make -C src/$(UTILITIES_DIR) | |
61 | cp src/$(UTILITIES_DIR)/*.h include/Photos | |
62 | ||
63 | $(PHOTOS_FORTRAN_DIR): | |
64 | make -C src/$(PHOTOS_FORTRAN_DIR) | |
65 | ||
66 | install: | |
67 | mkdir -p $(PREFIX)/include/Photos | |
68 | cp include/Photos/* $(PREFIX)/include/Photos/. | |
69 | mkdir -p $(PREFIX)/lib | |
70 | cp lib/* $(PREFIX)/lib/. | |
71 | ||
72 | clean: | |
73 | make clean -C src/$(EVENT_RECORD_INTERFACE_DIR) | |
74 | make clean -C src/$(FORTRAN_PHOTOS_INTERFACE_DIR) | |
75 | make clean -C src/$(C_PHOTOS_INTERFACE_DIR) | |
76 | make clean -C src/$(PHOTOS_FORTRAN_DIR) | |
77 | make clean -C src/$(UTILITIES_DIR) | |
78 | rm -f *~ | |
79 | ||
80 | Clean: clean | |
81 | rm -f lib/* include/Photos/* | |
82 | rm -rf config.log config.status autom4te.cache | |
83 | rm -rf configure.paths.sh configure.paths.csh | |
84 | rm -f platform/make.inc make.inc | |
85 | rm -f examples/make.inc | |
86 | ||
87 | make.inc: | |
88 | @echo "" | |
89 | @echo "Please execute ./configure first!" | |
90 | @echo "(Consider using 'source platform/afs.paths.sh' [or .csh] first)" | |
91 | @echo "" | |
92 | @false | |
93 | ||
94 | always: | |
95 | @true |