-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrules.mk
38 lines (31 loc) · 1.02 KB
/
rules.mk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# Generic build rules
define KAPUTTES_SYSTEM
@echo A dependency graph inconsistency has been detected while building $@
@echo from $<. Aborting
@exit -1
endef
define C_RECIPE
@echo [C ] $$<
$(VERBOSE)mkdir -p $$(dir $$@)
$(VERBOSE)$(CC) $(C_FLAGS) $$(c_local_flags) -c -MM -MT $$^ -MF $$(patsubst %.o,%.d,$$@) $$<
$(VERBOSE)$(CC) $(C_FLAGS) $$(c_local_flags) -c -o $$@ $$<
endef
define CXX_RECIPE
@echo [C++] $$<
$(VERBOSE)mkdir -p $$(dir $$@)
$(VERBOSE)$(CXX) $(CXX_FLAGS) $$(cxx_local_flags) $$(cxx_local_pch) -c -MM -MT $$@ -MF $$(patsubst %.o,%.d,$$@) $$<
$(VERBOSE)$(CXX) $(CXX_FLAGS) $$(cxx_local_flags) $$(cxx_local_pch) -c -o $$@ $$<
endef
define CXX_LD_RECIPE
@echo [LD ] $$@
$(VERBOSE)$(CXX) $$^ $(LD_FLAGS) $$(ld_local_flags) -o $$@
endef
define PCH_RECIPE
@echo [PCH] $$@
$(VERBOSE)$(CXX) $(CXX_FLAGS) $$(cxx_local_flags) -MM -MT $$@ -MF $$(patsubst %.hpp.pch,%.d,$$@) $$<
$(VERBOSE)$(CXX) $(CXX_FLAGS) $$(cxx_local_flags) -x c++-header $$< -o $$@
endef
%.o: %.cpp
$(KAPUTTES_SYSTEM)
%.o: %.c
$(KAPUTTES_SYSTEM)