From 8e8344518e7f3592d8a780c4359ec32425e661e9 Mon Sep 17 00:00:00 2001 From: Peter Griess Date: Sun, 19 Jun 2011 14:08:26 -0500 Subject: [PATCH] Re-jigger Makefile. - Uses more standard $CFLAGS and $CPPFLAGS variables to populate the set of flags to build with. - Allow extending compilation and linking flags with $CPPFLAGS_DEBUG_EXTRA, $CPPFLAGS_FAST_EXTRA, $CFLAGS_DEBUG_EXTRA, and $CFLAGS_FAST_EXTRA. Closes #40. --- Makefile | 38 ++++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/Makefile b/Makefile index 10b88d8..efac216 100644 --- a/Makefile +++ b/Makefile @@ -1,39 +1,45 @@ -CPPFLAGS?=-Wall -Wextra -Werror -I. -OPT_DEBUG=$(CPPFLAGS) -O0 -g -DHTTP_PARSER_STRICT=1 -DHTTP_PARSER_DEBUG=1 -OPT_FAST=$(CPPFLAGS) -O3 -DHTTP_PARSER_STRICT=0 -DHTTP_PARSER_DEBUG=0 - CC?=gcc AR?=ar +CPPFLAGS += -I. +CPPFLAGS_DEBUG = $(CPPFLAGS) -DHTTP_PARSER_STRICT=1 -DHTTP_PARSER_DEBUG=1 +CPPFLAGS_DEBUG += $(CPPFLAGS_DEBUG_EXTRA) +CPPFLAGS_FAST = $(CPPFLAGS) -DHTTP_PARSER_STRICT=0 -DHTTP_PARSER_DEBUG=0 +CPPFLAGS_FAST += $(CPPFLAGS_FAST_EXTRA) + +CFLAGS += -Wall -Wextra -Werror +CFLAGS_DEBUG = $(CFLAGS) -O0 -g $(CFLAGS_DEBUG_EXTRA) +CFLAGS_FAST = $(CFLAGS) -O3 $(CFLAGS_FAST_EXTRA) + test: test_g test_fast ./test_g ./test_fast test_g: http_parser_g.o test_g.o - $(CC) $(OPT_DEBUG) http_parser_g.o test_g.o -o $@ + $(CC) $(CFLAGS_DEBUG) $(LDFLAGS) http_parser_g.o test_g.o -o $@ test_g.o: test.c http_parser.h Makefile - $(CC) $(OPT_DEBUG) -c test.c -o $@ - -test.o: test.c http_parser.h Makefile - $(CC) $(OPT_FAST) -c test.c -o $@ + $(CC) $(CPPFLAGS_DEBUG) $(CFLAGS_DEBUG) -c test.c -o $@ http_parser_g.o: http_parser.c http_parser.h Makefile - $(CC) $(OPT_DEBUG) -c http_parser.c -o $@ + $(CC) $(CPPFLAGS_DEBUG) $(CFLAGS_DEBUG) -c http_parser.c -o $@ -test-valgrind: test_g - valgrind ./test_g +test_fast: http_parser.o test.o http_parser.h + $(CC) $(CFLAGS_FAST) $(LDFLAGS) http_parser.o test.o -o $@ -http_parser.o: http_parser.c http_parser.h Makefile - $(CC) $(OPT_FAST) -c http_parser.c +test.o: test.c http_parser.h Makefile + $(CC) $(CPPFLAGS_FAST) $(CFLAGS_FAST) -c test.c -o $@ -test_fast: http_parser.o test.c http_parser.h - $(CC) $(OPT_FAST) http_parser.o test.c -o $@ +http_parser.o: http_parser.c http_parser.h Makefile + $(CC) $(CPPFLAGS_FAST) $(CFLAGS_FAST) -c http_parser.c test-run-timed: test_fast while(true) do time ./test_fast > /dev/null; done +test-valgrind: test_g + valgrind ./test_g + package: http_parser.o $(AR) rcs libhttp_parser.a http_parser.o