1 xudong 1.1 # Standard things
2 sp := $(sp).x
3 dirstack_$(sp) := $(d)
4 d := $(dir)
5
6 # Local variables
7
8 # Common utilities
9 EXTRADEPS_$(d) := $(addprefix $(d)/, fresize.o)
10
11 # NOTE: Add the base of the module's filename below (next to mymod)
12 MODEXE_$(d) := $(addprefix $(d)/, sharp)
13 MODEXE := $(MODEXE) $(MODEXE_$(d))
14
15 MODEXE_SOCK_$(d):= $(MODEXE_$(d):%=%_sock)
16 MODEXE_SOCK := $(MODEXE_SOCK) $(MODEXE_SOCK_$(d))
17
18 # Modules with external libraries
19 MODEXE_USEF_$(d) := $(addprefix $(d)/, )
20 MODEXE_USEF := $(MODEXE_USEF) $(MODEXE_USEF_$(d))
21
22 xudong 1.1 MODEXE_USEF_SOCK_$(d) := $(MODEXE_USEF_$(d):%=%_sock)
23 MODEXE_USEF_SOCK := $(MODEXE_USEF_SOCK) $(MODEXE_USEF_SOCK_$(d))
24
25 EXE_$(d) := $(MODEXE_$(d)) $(MODEXE_USEF_$(d))
26 OBJ_$(d) := $(EXE_$(d):%=%.o)
27 DEP_$(d) := $(OBJ_$(d):%=%.d)
28 CLEAN := $(CLEAN) \
29 $(OBJ_$(d)) \
30 $(EXE_$(d)) \
31 $(MODEXE_SOCK_$(d))\
32 $(MODEXE_USEF_SOCK_$(d)) \
33 $(DEP_$(d))
34
35 TGT_BIN := $(TGT_BIN) $(EXE_$(d)) $(MODEXE_SOCK_$(d)) $(MODEXE_USEF_SOCK_$(d))
36
37 S_$(d) := $(notdir $(EXE_$(d)) $(MODEXE_SOCK_$(d)))
38
39 # Local rules
40 $(OBJ_$(d)): $(SRCDIR)/$(d)/Rules.mk
41 $(OBJ_$(d)): CF_TGT := -I$(SRCDIR)/$(d)/../../libs/astro -I$(SRCDIR)/$(d)/../../libs/interpolate -I$(SRCDIR)/$(d)/../../libs/stats -I$(SRCDIR)/$(d)/src/ $(FMATHLIBSH) -I$(SRCDIR)/lib_third_party/include
42 $(OBJ_$(d)): CF_TGT := $(CF_TGT) -DCDIR="\"$(SRCDIR)/$(d)\""
43 xudong 1.1
44 $(EXTRADEPS_$(d)): CF_TGT := $(CF_TGT) -I/home/jsoc/include -I$(SRCDIR)/$(d) -openmp
45
46 MKL := -lmkl
47
48 ifeq ($(COMPILER), icc)
49 NOIPO_$(d) := -no-ipo
50 endif
51
52 ifeq ($(JSOC_MACHINE), linux_x86_64)
53 MKL := $(NOIPO_$(d)) -L /home/jsoc/lib/linux-x86_64 -lmkl_em64t -lfftw3f
54 endif
55
56 ifeq ($(JSOC_MACHINE), linux_ia32)
57 MKL := $(NOIPO_$(d)) -L /home/jsoc/lib/linux-ia32 -lmkl_lapack -lmkl_ia32 -lfftw3f
58 endif
59
60 SVML_$(d) :=
61 GUIDE_$(d) :=
62
63 ifeq ($(COMPILER), icc)
64 xudong 1.1 SVML_$(d) := #-lsvml
65 GUIDE_$(d) := #-lguide
66 endif
67
68 ALL_$(d) := $(MODEXE_$(d)) $(MODEXE_SOCK_$(d)) $(MODEXE_USEF_$(d)) $(MODEXE_USEF_SOCK_$(d))
69 $(ALL_$(d)) : $(EXTRADEPS_$(d))
70 $(ALL_$(d)) : $(LIBASTRO) $(LIBSTATS) $(LIBINTERP)
71 $(ALL_$(d)) : LF_TGT := $(LF_TGT) -openmp $(MKL)
72 $(ALL_$(d)) : LL_TGT := $(LL_TGT) $(GSLLIBS) $(CFITSIOLIBS) $(FMATHLIBS) $(SVML_$(d)) $(MKL) $(GUIDE_$(d))
73
74 # Shortcuts
75 .PHONY: $(S_$(d))
76 $(S_$(d)): %: $(d)/%
77
78 # Standard things
79 ifneq ($(DEP_$(d)),)
80 -include $(DEP_$(d))
81 endif
82
83 d := $(dirstack_$(sp))
84 sp := $(basename $(sp))
|