@@ -66,61 +66,60 @@ DESTDIR_RPATH = $(if $(DESTDIR),$(DESTDIR)/lib,$(_ORIGIN))
66
66
67
67
C_RESET := \033[0m
68
68
C_GREEN := \033[32m
69
- ECHO := $(if $(filter Darwin,$(OS_NAME)),echo,echo -e)
70
69
71
70
72
71
# ======== MAIN BUILD RULES ============
73
72
74
73
# Take the main and link with nrnmech.
75
74
# RPATH is set for DESTDIR_RPATH and coreneuron lib
76
75
$(special): $(coremech_lib)
77
- @$(ECHO) " => $(C_GREEN)LINKING$(C_RESET) executable $(special) "
76
+ @printf " => $(C_GREEN)LINKING$(C_RESET) executable $(special)\n "
78
77
$(CXX_LINK_EXE) -I $(incdir) $(datadir)/coreneuron.cpp -o $(special) \
79
78
-L $(OUTPUT) -l$(coremech_libname) $(CORENRNLIB_FLAGS) -Wl,-rpath,'$(DESTDIR_RPATH)' -Wl,-rpath,$(libdir) $(LDFLAGS)
80
79
81
80
82
81
$(coremech_lib): $(mod_func_o) $(dimplic_o) $(mod_objs)
83
- @$(ECHO) " => $(C_GREEN)LINKING$(C_RESET) library $(coremech_lib) Mod files: $(mod_files) (+ $(OPTMODS))"
82
+ @printf " => $(C_GREEN)LINKING$(C_RESET) library $(coremech_lib) Mod files: $(mod_files) (+ $(OPTMODS))\n "
84
83
$(CXX_LINK_SHARED) -I $(incdir) -DADDITIONAL_MECHS $(datadir)/enginemech.cpp -o ${coremech_lib} \
85
84
$(mod_func_o) $(dimplic_o) $(mod_objs) $(datadir)/libscopmath.a $(CORENRNLIB_FLAGS) -Wl,-rpath,$(libdir) $(LDFLAGS)
86
85
87
86
88
87
# Generic build cpp->o. Need PIC for shared lib
89
88
$(OBJS_DIR)/%.o: $(MODC_DIR)/%.cpp $(kinderiv_h) | $(OBJS_DIR)
90
- @$(ECHO) " -> $(C_GREEN)Compiling$(C_RESET) $<"
89
+ @printf " -> $(C_GREEN)Compiling$(C_RESET) $<\n "
91
90
$(CXXCOMPILE) @CMAKE_CXX_COMPILE_OPTIONS_PIC@ -c $< -o $@
92
91
93
92
94
93
# Build cpp files with mod2c
95
94
$(MODC_DIR)/%.cpp: $(MODS_PATH)/%.mod | $(MODC_DIR)
96
- @$(ECHO) " -> $(C_GREEN)MOD2C$(C_RESET) $<"
95
+ @printf " -> $(C_GREEN)MOD2C$(C_RESET) $<\n "
97
96
MODLUNIT=$(datadir_mod2c)/nrnunits.lib \
98
97
$(bindir)/mod2c_core $< -o $(MODC_DIR)/
99
98
100
99
# If .mod doesnt exist attempt from previously built opt mods in shared/
101
100
$(MODC_DIR)/%.cpp: $(datadir_mod2c)/%.cpp | $(MODC_DIR)
102
- cp $< $@
101
+ ln -s $< $@
103
102
104
103
105
104
# Mod registration. Compiled by generic rule. Dont overwrite if not changed
106
105
$(mod_func_c): build_always | $(MODC_DIR)
107
- @$(ECHO) " -> $(C_GREEN)Generating$(C_RESET) $(mod_func_c)"
106
+ @printf " -> $(C_GREEN)Generating$(C_RESET) $(mod_func_c)\n "
108
107
perl $(datadir)/mod_func.c.pl $(OPTMODS) $(mod_files) > $(mod_func_c).tmp
109
108
diff -q $(mod_func_c).tmp $(mod_func_c) || echo "Replacing mod_func.c" && mv $(mod_func_c).tmp $(mod_func_c)
110
109
111
110
112
111
# Header to avoid function callbacks using function pointers
113
112
# Move all mods to temp and bring back only those required
114
113
$(kinderiv_h): $(modc_files) build_always | $(MODC_DIR)
115
- @$(ECHO) " -> $(C_GREEN)Generating$(C_RESET) $(kinderiv_h)"
114
+ @printf " -> $(C_GREEN)Generating$(C_RESET) $(kinderiv_h)\n "
116
115
cd $(MODC_DIR) && mkdir -p _tmp && mv [^_]*.cpp _tmp/ && \
117
116
mv $(addprefix _tmp/,$(notdir $(modc_files))) ./ || true
118
117
rm -rf $(MODC_DIR)/_tmp
119
118
cd $(MODC_DIR) && python $(datadir)/kinderiv.py
120
119
121
120
122
121
$(dimplic_c): $(dimplic_src) | $(MODC_DIR)
123
- cp $(dimplic_src) $(dimplic_c)
122
+ ln -s $(dimplic_src) $(dimplic_c)
124
123
125
124
126
125
install: $(special) $(coremech_lib)
0 commit comments