1 |
# Standard things |
2 |
sp := $(sp).x |
3 |
dirstack_$(sp) := $(d) |
4 |
d := $(dir) |
5 |
|
6 |
# Local variables |
7 |
# NOTE: Add the base of the module's filename below (next to mymod) |
8 |
MODEXE_$(d) := $(addprefix $(d)/, module_flatfield_combine module_flatfield write_flatfield write_offpoint write_badpix write_dark cosmic_ray_post) |
9 |
MODEXE := $(MODEXE) $(MODEXE_$(d)) |
10 |
|
11 |
MODEXE_SOCK_$(d):= $(MODEXE_$(d):%=%_sock) |
12 |
MODEXE_SOCK := $(MODEXE_SOCK) $(MODEXE_SOCK_$(d)) |
13 |
|
14 |
EXE_$(d) := $(MODEXE_$(d)) |
15 |
OBJ_$(d) := $(EXE_$(d):%=%.o) |
16 |
DEP_$(d) := $(OBJ_$(d):%=%.d) |
17 |
CLEAN := $(CLEAN) \ |
18 |
$(OBJ_$(d)) \ |
19 |
$(EXE_$(d)) \ |
20 |
$(MODEXE_SOCK_$(d))\ |
21 |
$(DEP_$(d)) |
22 |
|
23 |
TGT_BIN := $(TGT_BIN) $(MODEXE_$(d)) |
24 |
|
25 |
S_$(d) := $(notdir $(EXE_$(d)) $(MODEXE_SOCK_$(d))) |
26 |
|
27 |
# Local rules |
28 |
$(OBJ_$(d)): $(SRCDIR)/$(d)/Rules.mk |
29 |
$(OBJ_$(d)): CF_TGT := $(CF_TGT) -DCDIR="\"$(SRCDIR)/$(d)\"" -I $(SRCDIR)/$(d)/../libs/flatfieldlib |
30 |
|
31 |
# added 10/10 |
32 |
$(OBJ_$(d)): CF_TGT := $(CF_TGT) -DCDIR="\"$(SRCDIR)/$(d)\"" -I$(FFTW_INCS) |
33 |
ifeq ($(JSOC_MACHINE), linux_avx2) |
34 |
$(MODEXE_$(d)) $(MODEXE_SOCK_$(d)): LL_TGT := $(LL_TGT) -lmkl_rt |
35 |
else |
36 |
$(MODEXE_$(d)) $(MODEXE_SOCK_$(d)): LL_TGT := $(LL_TGT) $(FFTW3FLIBS) -lmkl_em64t |
37 |
endif |
38 |
|
39 |
$(OBJ_$(d)): CF_TGT := $(CF_TGT) -DCDIR="\"$(SRCDIR)/$(d)\"" -I$(SRCDIR)/$(d)/../../libs/interpolate/ |
40 |
|
41 |
# do not use $(LIBINTERP) since we can't be sure if its Rules.mk, which is where |
42 |
# this variable gets set, has been read yet |
43 |
$(MODEXE_$(d)) $(MODEXE_SOCK_$(d)): proj/libs/interpolate/libinterp.a |
44 |
#added 10.10 |
45 |
|
46 |
|
47 |
# NOTE: Add dependent libraries with the -I compiler flag, and make the module depend |
48 |
# on that library |
49 |
# $(OBJ_$(d)): CF_TGT := -I$(SRCDIR)/$(d)/../../libs/somelib |
50 |
# $(MODEXE_$(d)) $(MODEXE_SOCK_$(d)): $(LIBSOMELIB) |
51 |
|
52 |
# do not use $(LIBFLATFIELD) since we can't be sure if its Rules.mk, which is where |
53 |
# this variable gets set, has been read yet |
54 |
$(MODEXE_$(d)) $(MODEXE_SOCK_$(d)): proj/flatfield/libs/flatfieldlib/libflatfieldlib.a |
55 |
|
56 |
# Shortcuts |
57 |
.PHONY: $(S_$(d)) |
58 |
$(S_$(d)): %: $(d)/% |
59 |
|
60 |
# Standard things |
61 |
-include $(DEP_$(d)) |
62 |
|
63 |
d := $(dirstack_$(sp)) |
64 |
sp := $(basename $(sp)) |