# Note: c99+ required for for-loop initial declaration (not default in CentOS 6)
# Note: gnu99 can be required for some projects (i.e.: libcutils-net)
-CFLAGS += -Wall -pedantic -I./ -std=c99
+CFLAGS += -Wall -pedantic -I./ -std=gnu99
CXXFLAGS += -Wall -pedantic -I./
PREFIX = /usr/local
# Required libraries if any:
-LDFLAGS += -lcheck -lcutils-check
+LDFLAGS += -lcutils-check
+LDFLAGS += -lcheck $(shell pkg-config --libs --cflags check)
+
# Required *locally compiled* libraries if any:
LIBS = cutils
+# Code to test
+CODE = cbook
+CODEO = $(CODE)/cbook_csv.o \
+ $(CODE)/cbook_pl1.o
+
################################################################################
ifeq ($(dstdir),)
$(foreach lib,$(LIBS),$(MAKE) --no-print-directory \
-C $(lib)/ dstdir=$(dstdir))
+$(CODEO):
+ $(foreach cod,$(CODE),$(MAKE) --no-print-directory \
+ -C $(cod)/ dstdir=$(dstdir))
+
.PHONY: build rebuild install uninstall clean mrpropre mrpropre \
$(NAME) test run run-test run-test-more
-SOURCES=$(wildcard $(ssrcdir)/*.c)
-OBJECTS=$(SOURCES:%.c=%.o)
-DEPENDS =$(SOURCES:%.c=%.d)
+SOURCES = $(wildcard $(ssrcdir)/*.c)
+OBJECTS = $(SOURCES:%.c=%.o)
+OBJECTS += $(CODEO)
+DEPENDS = $(SOURCES:%.c=%.d)
# Autogenerate dependencies from code
-include $(DEPENDS)
clean:
$(foreach lib,$(LIBS),$(MAKE) --no-print-directory \
-C $(lib)/ $@ dstdir=$(dstdir))
+ $(foreach cod,$(CODE),$(MAKE) --no-print-directory \
+ -C $(cod)/ $@ dstdir=$(dstdir))
rm -f $(OBJECTS)
rm -f $(DEPENDS)
mrpropre: clean
$(foreach lib,$(LIBS),$(MAKE) --no-print-directory \
-C $(lib)/ $@ dstdir=$(dstdir))
+ $(foreach cod,$(CODE),$(MAKE) --no-print-directory \
+ -C $(cod)/ $@ dstdir=$(dstdir))
rm -f $(dstdir)/$(NAME)
rmdir $(dstdir) 2>/dev/null || true