ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/JSOC/proj/flatfield/apps/Rules.mk
Revision: 1.10
Committed: Sun Nov 20 01:00:00 2022 UTC (10 months ago) by kehcheng
Branch: MAIN
CVS Tags: HEAD
Changes since 1.9: +4 -2 lines
Log Message:
add linux_avx2 support

File Contents

# Content
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))