From 91d8c4853308cf055a3c1fb1e0e86f300954baed Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Sun, 27 Sep 2009 14:52:04 +0000 Subject: add qpdf-ctest as C test program git-svn-id: svn+q:///qpdf/trunk@726 71b93d88-0707-0410-a8cf-f5a4172ac649 --- make/rules.mk | 14 ++++++++++++++ qpdf/build.mk | 11 +++++++++-- qpdf/qpdf-ctest.c | 6 ++++++ 3 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 qpdf/qpdf-ctest.c 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 diff --git a/qpdf/build.mk b/qpdf/build.mk index b6fc55c9..1f439bb4 100644 --- a/qpdf/build.mk +++ b/qpdf/build.mk @@ -1,6 +1,7 @@ BINS_qpdf = qpdf test_driver +CBINS_qpdf = qpdf-ctest -TARGETS_qpdf = $(foreach B,$(BINS_qpdf),qpdf/$(OUTPUT_DIR)/$(B)) +TARGETS_qpdf = $(foreach B,$(BINS_qpdf) $(CBINS_qpdf),qpdf/$(OUTPUT_DIR)/$(B)) $(TARGETS_qpdf): $(TARGETS_libqpdf) @@ -12,6 +13,8 @@ TC_SRCS_qpdf = $(wildcard libqpdf/*.cc) $(wildcard qpdf/*.cc) $(foreach B,$(BINS_qpdf),$(eval \ OBJS_$(B) = $(call src_to_obj,qpdf/$(B).cc))) +$(foreach B,$(CBINS_qpdf),$(eval \ + OBJS_$(B) = $(call c_src_to_obj,qpdf/$(B).c))) ifeq ($(GENDEPS),1) -include $(foreach B,$(BINS_qpdf),$(call obj_to_dep,$(OBJS_$(B)))) @@ -21,6 +24,10 @@ $(foreach B,$(BINS_qpdf),$(eval \ $(OBJS_$(B)): qpdf/$(OUTPUT_DIR)/%.o: qpdf/$(B).cc ; \ $(call compile,qpdf/$(B).cc,$(INCLUDES_qpdf)))) -$(foreach B,$(BINS_qpdf),$(eval \ +$(foreach B,$(CBINS_qpdf),$(eval \ + $(OBJS_$(B)): qpdf/$(OUTPUT_DIR)/%.o: qpdf/$(B).c ; \ + $(call c_compile,qpdf/$(B).c,$(INCLUDES_qpdf)))) + +$(foreach B,$(BINS_qpdf) $(CBINS_qpdf),$(eval \ qpdf/$(OUTPUT_DIR)/$(B): $(OBJS_$(B)) ; \ $(call makebin,$(OBJS_$(B)),$$@))) diff --git a/qpdf/qpdf-ctest.c b/qpdf/qpdf-ctest.c new file mode 100644 index 00000000..1a25d22a --- /dev/null +++ b/qpdf/qpdf-ctest.c @@ -0,0 +1,6 @@ +#include + +int main() +{ + return 0; +} -- cgit v1.2.3-54-g00ecf