Commit 91d8c4853308cf055a3c1fb1e0e86f300954baed

Authored by Jay Berkenbilt
1 parent 84ec83e9

add qpdf-ctest as C test program

git-svn-id: svn+q:///qpdf/trunk@726 71b93d88-0707-0410-a8cf-f5a4172ac649
make/rules.mk
@@ -4,6 +4,11 @@ define src_to_obj @@ -4,6 +4,11 @@ define src_to_obj
4 $(foreach F,$(1),$(dir $(F))$(OUTPUT_DIR)/$(patsubst %.cc,%.o,$(notdir $(F)))) 4 $(foreach F,$(1),$(dir $(F))$(OUTPUT_DIR)/$(patsubst %.cc,%.o,$(notdir $(F))))
5 endef 5 endef
6 6
  7 +# Usage: $(call c_src_to_obj,srcs)
  8 +define c_src_to_obj
  9 +$(foreach F,$(1),$(dir $(F))$(OUTPUT_DIR)/$(patsubst %.c,%.o,$(notdir $(F))))
  10 +endef
  11 +
7 # Usage: $(call src_to_lobj,srcs) 12 # Usage: $(call src_to_lobj,srcs)
8 define src_to_lobj 13 define src_to_lobj
9 $(foreach F,$(1),$(dir $(F))$(OUTPUT_DIR)/$(patsubst %.cc,%.lo,$(notdir $(F)))) 14 $(foreach F,$(1),$(dir $(F))$(OUTPUT_DIR)/$(patsubst %.cc,%.lo,$(notdir $(F))))
@@ -46,6 +51,15 @@ define compile @@ -46,6 +51,15 @@ define compile
46 -c $(1) -o $(call src_to_obj,$(1)) 51 -c $(1) -o $(call src_to_obj,$(1))
47 endef 52 endef
48 53
  54 +# 1 2
  55 +# Usage: $(call c_compile,src,includes)
  56 +define c_compile
  57 + $(CC) $(CPPFLAGS) $(CFLAGS) \
  58 + $(call depflags,$(basename $(call src_to_obj,$(1)))) \
  59 + $(foreach I,$(2),-I$(I)) \
  60 + -c $(1) -o $(call c_src_to_obj,$(1))
  61 +endef
  62 +
49 # 1 2 63 # 1 2
50 # Usage: $(call libcompile,src,includes) 64 # Usage: $(call libcompile,src,includes)
51 define libcompile 65 define libcompile
qpdf/build.mk
1 BINS_qpdf = qpdf test_driver 1 BINS_qpdf = qpdf test_driver
  2 +CBINS_qpdf = qpdf-ctest
2 3
3 -TARGETS_qpdf = $(foreach B,$(BINS_qpdf),qpdf/$(OUTPUT_DIR)/$(B)) 4 +TARGETS_qpdf = $(foreach B,$(BINS_qpdf) $(CBINS_qpdf),qpdf/$(OUTPUT_DIR)/$(B))
4 5
5 $(TARGETS_qpdf): $(TARGETS_libqpdf) 6 $(TARGETS_qpdf): $(TARGETS_libqpdf)
6 7
@@ -12,6 +13,8 @@ TC_SRCS_qpdf = $(wildcard libqpdf/*.cc) $(wildcard qpdf/*.cc) @@ -12,6 +13,8 @@ TC_SRCS_qpdf = $(wildcard libqpdf/*.cc) $(wildcard qpdf/*.cc)
12 13
13 $(foreach B,$(BINS_qpdf),$(eval \ 14 $(foreach B,$(BINS_qpdf),$(eval \
14 OBJS_$(B) = $(call src_to_obj,qpdf/$(B).cc))) 15 OBJS_$(B) = $(call src_to_obj,qpdf/$(B).cc)))
  16 +$(foreach B,$(CBINS_qpdf),$(eval \
  17 + OBJS_$(B) = $(call c_src_to_obj,qpdf/$(B).c)))
15 18
16 ifeq ($(GENDEPS),1) 19 ifeq ($(GENDEPS),1)
17 -include $(foreach B,$(BINS_qpdf),$(call obj_to_dep,$(OBJS_$(B)))) 20 -include $(foreach B,$(BINS_qpdf),$(call obj_to_dep,$(OBJS_$(B))))
@@ -21,6 +24,10 @@ $(foreach B,$(BINS_qpdf),$(eval \ @@ -21,6 +24,10 @@ $(foreach B,$(BINS_qpdf),$(eval \
21 $(OBJS_$(B)): qpdf/$(OUTPUT_DIR)/%.o: qpdf/$(B).cc ; \ 24 $(OBJS_$(B)): qpdf/$(OUTPUT_DIR)/%.o: qpdf/$(B).cc ; \
22 $(call compile,qpdf/$(B).cc,$(INCLUDES_qpdf)))) 25 $(call compile,qpdf/$(B).cc,$(INCLUDES_qpdf))))
23 26
24 -$(foreach B,$(BINS_qpdf),$(eval \ 27 +$(foreach B,$(CBINS_qpdf),$(eval \
  28 + $(OBJS_$(B)): qpdf/$(OUTPUT_DIR)/%.o: qpdf/$(B).c ; \
  29 + $(call c_compile,qpdf/$(B).c,$(INCLUDES_qpdf))))
  30 +
  31 +$(foreach B,$(BINS_qpdf) $(CBINS_qpdf),$(eval \
25 qpdf/$(OUTPUT_DIR)/$(B): $(OBJS_$(B)) ; \ 32 qpdf/$(OUTPUT_DIR)/$(B): $(OBJS_$(B)) ; \
26 $(call makebin,$(OBJS_$(B)),$$@))) 33 $(call makebin,$(OBJS_$(B)),$$@)))
qpdf/qpdf-ctest.c 0 → 100644
  1 +#include <qpdf/qpdf-c.h>
  2 +
  3 +int main()
  4 +{
  5 + return 0;
  6 +}