summaryrefslogtreecommitdiffstats
path: root/make/rules.mk
diff options
context:
space:
mode:
Diffstat (limited to 'make/rules.mk')
-rw-r--r--make/rules.mk14
1 files changed, 14 insertions, 0 deletions
diff --git a/make/rules.mk b/make/rules.mk
index 335c6fce..01b6f2f2 100644
--- a/make/rules.mk
+++ b/make/rules.mk
@@ -4,6 +4,11 @@ define src_to_obj
$(foreach F,$(1),$(dir $(F))$(OUTPUT_DIR)/$(patsubst %.cc,%.o,$(notdir $(F))))
endef
+# Usage: $(call c_src_to_obj,srcs)
+define c_src_to_obj
+$(foreach F,$(1),$(dir $(F))$(OUTPUT_DIR)/$(patsubst %.c,%.o,$(notdir $(F))))
+endef
+
# Usage: $(call src_to_lobj,srcs)
define src_to_lobj
$(foreach F,$(1),$(dir $(F))$(OUTPUT_DIR)/$(patsubst %.cc,%.lo,$(notdir $(F))))
@@ -46,6 +51,15 @@ define compile
-c $(1) -o $(call src_to_obj,$(1))
endef
+# 1 2
+# Usage: $(call c_compile,src,includes)
+define c_compile
+ $(CC) $(CPPFLAGS) $(CFLAGS) \
+ $(call depflags,$(basename $(call src_to_obj,$(1)))) \
+ $(foreach I,$(2),-I$(I)) \
+ -c $(1) -o $(call c_src_to_obj,$(1))
+endef
+
# 1 2
# Usage: $(call libcompile,src,includes)
define libcompile