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 4 $(foreach F,$(1),$(dir $(F))$(OUTPUT_DIR)/$(patsubst %.cc,%.o,$(notdir $(F))))
5 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 12 # Usage: $(call src_to_lobj,srcs)
8 13 define src_to_lobj
9 14 $(foreach F,$(1),$(dir $(F))$(OUTPUT_DIR)/$(patsubst %.cc,%.lo,$(notdir $(F))))
... ... @@ -46,6 +51,15 @@ define compile
46 51 -c $(1) -o $(call src_to_obj,$(1))
47 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 63 # 1 2
50 64 # Usage: $(call libcompile,src,includes)
51 65 define libcompile
... ...
qpdf/build.mk
1 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 6 $(TARGETS_qpdf): $(TARGETS_libqpdf)
6 7  
... ... @@ -12,6 +13,8 @@ TC_SRCS_qpdf = $(wildcard libqpdf/*.cc) $(wildcard qpdf/*.cc)
12 13  
13 14 $(foreach B,$(BINS_qpdf),$(eval \
14 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 19 ifeq ($(GENDEPS),1)
17 20 -include $(foreach B,$(BINS_qpdf),$(call obj_to_dep,$(OBJS_$(B))))
... ... @@ -21,6 +24,10 @@ $(foreach B,$(BINS_qpdf),$(eval \
21 24 $(OBJS_$(B)): qpdf/$(OUTPUT_DIR)/%.o: qpdf/$(B).cc ; \
22 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 32 qpdf/$(OUTPUT_DIR)/$(B): $(OBJS_$(B)) ; \
26 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 +}
... ...