From: Brian Norris Date: Tue, 28 May 2013 22:09:44 +0000 (-0700) Subject: Makefiles: use appropriate preprocessor vs. compiler flags X-Git-Tag: oopsla2013-final~1 X-Git-Url: http://plrg.eecs.uci.edu/git/?p=model-checker-benchmarks.git;a=commitdiff_plain;h=77847ecd3fa6a643302770491928787ba143cde1 Makefiles: use appropriate preprocessor vs. compiler flags We should differentiate preprocessor vs. C++ compiler vs. C compiler flags, according to the CPPFLAGS, CXXFLAGS, and CFLAGS conventions. That way we can, for instance, easily add the appropriate --std=XXX flags necessary for compiling with a C++11 (or C++0x) or C11 (or C1x) compliant compiler. --- diff --git a/barrier/Makefile b/barrier/Makefile index f3710a1..22df223 100644 --- a/barrier/Makefile +++ b/barrier/Makefile @@ -5,7 +5,7 @@ TESTNAME = barrier all: $(TESTNAME) $(TESTNAME): $(TESTNAME).cc $(TESTNAME).h - $(CXX) -o $@ $< $(CPPFLAGS) $(LDFLAGS) + $(CXX) -o $@ $< $(CXXFLAGS) $(LDFLAGS) clean: rm -f $(TESTNAME) *.o diff --git a/benchmarks.mk b/benchmarks.mk index f1fd851..7f82f92 100644 --- a/benchmarks.mk +++ b/benchmarks.mk @@ -10,15 +10,24 @@ LIB_SO = lib$(LIB_NAME).so BASE = ../.. INCLUDE = -I$(BASE)/include -I../include -FLAGS := -g -CPPFLAGS += $(INCLUDE) $(FLAGS) -CFLAGS += $(INCLUDE) $(FLAGS) + +# C preprocessor flags +CPPFLAGS += $(INCLUDE) -g + +# C++ compiler flags +CXXFLAGS += $(CPPFLAGS) + +# C compiler flags +CFLAGS += $(CPPFLAGS) + +# Linker flags LDFLAGS += -L$(BASE) -l$(LIB_NAME) -rdynamic # Mac OSX options ifeq ($(UNAME), Darwin) MACFLAGS = -D_XOPEN_SOURCE -DMAC CPPFLAGS += $(MACFLAGS) +CXXFLAGS += $(MACFLAGS) CFLAGS += $(MACFLAGS) LDFLAGS += $(MACFLAGS) endif diff --git a/chase-lev-deque/Makefile b/chase-lev-deque/Makefile index 91ff999..0e20427 100644 --- a/chase-lev-deque/Makefile +++ b/chase-lev-deque/Makefile @@ -8,10 +8,10 @@ OBJECTS = main.o deque.o all: $(TESTNAME) $(TESTNAME): $(HEADERS) $(OBJECTS) - $(CC) -o $@ $(OBJECTS) $(CPPFLAGS) $(LDFLAGS) + $(CC) -o $@ $(OBJECTS) $(CFLAGS) $(LDFLAGS) %.o: %.c - $(CC) -c -o $@ $< $(CPPFLAGS) + $(CC) -c -o $@ $< $(CFLAGS) clean: rm -f $(TESTNAME) *.o diff --git a/dekker-fences/Makefile b/dekker-fences/Makefile index 1996599..ffbb77a 100644 --- a/dekker-fences/Makefile +++ b/dekker-fences/Makefile @@ -5,7 +5,7 @@ TESTNAME = dekker-fences all: $(TESTNAME) $(TESTNAME): $(TESTNAME).cc - $(CXX) -o $@ $< $(CPPFLAGS) $(LDFLAGS) + $(CXX) -o $@ $< $(CXXFLAGS) $(LDFLAGS) clean: rm -f $(TESTNAME) *.o diff --git a/linuxrwlocks/Makefile b/linuxrwlocks/Makefile index d66ada3..90dafcf 100644 --- a/linuxrwlocks/Makefile +++ b/linuxrwlocks/Makefile @@ -5,7 +5,7 @@ TESTNAME = linuxrwlocks all: $(TESTNAME) $(TESTNAME): $(TESTNAME).c - $(CC) -o $@ $< $(CPPFLAGS) $(LDFLAGS) + $(CC) -o $@ $< $(CFLAGS) $(LDFLAGS) clean: rm -f $(TESTNAME) *.o diff --git a/mcs-lock/Makefile b/mcs-lock/Makefile index 04d2398..5a311b3 100644 --- a/mcs-lock/Makefile +++ b/mcs-lock/Makefile @@ -5,7 +5,7 @@ TESTNAME = mcs-lock all: $(TESTNAME) $(TESTNAME): $(TESTNAME).cc $(TESTNAME).h - $(CXX) -o $@ $< $(CPPFLAGS) $(LDFLAGS) + $(CXX) -o $@ $< $(CXXFLAGS) $(LDFLAGS) clean: rm -f $(TESTNAME) *.o diff --git a/mpmc-queue/Makefile b/mpmc-queue/Makefile index cfd4fee..8d9ad1e 100644 --- a/mpmc-queue/Makefile +++ b/mpmc-queue/Makefile @@ -16,7 +16,7 @@ mpmc-2r1w-noinit: CPPFLAGS += -DCONFIG_MPMC_READERS=2 -DCONFIG_MPMC_WRITERS=1 -D mpmc-rdwr-noinit: CPPFLAGS += -DCONFIG_MPMC_READERS=0 -DCONFIG_MPMC_WRITERS=0 -DCONFIG_MPMC_RDWR=2 -DCONFIG_MPMC_NO_INITIAL_ELEMENT $(TESTS): $(TESTNAME).cc $(TESTNAME).h - $(CXX) -o $@ $< $(CPPFLAGS) $(LDFLAGS) + $(CXX) -o $@ $< $(CXXFLAGS) $(LDFLAGS) clean: rm -f $(TESTS) *.o diff --git a/ms-queue/Makefile b/ms-queue/Makefile index cd48d78..da3a0e4 100644 --- a/ms-queue/Makefile +++ b/ms-queue/Makefile @@ -8,10 +8,10 @@ OBJECTS = main.o my_queue.o all: $(TESTNAME) $(TESTNAME): $(HEADERS) $(OBJECTS) - $(CC) -o $@ $(OBJECTS) $(CPPFLAGS) $(LDFLAGS) + $(CC) -o $@ $(OBJECTS) $(CFLAGS) $(LDFLAGS) %.o: %.c - $(CC) -c -o $@ $< $(CPPFLAGS) + $(CC) -c -o $@ $< $(CFLAGS) clean: rm -f $(TESTNAME) *.o diff --git a/spsc-bugfix/Makefile b/spsc-bugfix/Makefile index 6465176..33b9d01 100644 --- a/spsc-bugfix/Makefile +++ b/spsc-bugfix/Makefile @@ -6,7 +6,7 @@ RELACYNAME = spsc-relacy all: $(TESTNAME) $(TESTNAME): $(TESTNAME).cc queue.h eventcount.h - $(CXX) -o $@ $< $(CPPFLAGS) $(LDFLAGS) + $(CXX) -o $@ $< $(CXXFLAGS) $(LDFLAGS) relacy: $(RELACYNAME) diff --git a/spsc-queue/Makefile b/spsc-queue/Makefile index 6465176..33b9d01 100644 --- a/spsc-queue/Makefile +++ b/spsc-queue/Makefile @@ -6,7 +6,7 @@ RELACYNAME = spsc-relacy all: $(TESTNAME) $(TESTNAME): $(TESTNAME).cc queue.h eventcount.h - $(CXX) -o $@ $< $(CPPFLAGS) $(LDFLAGS) + $(CXX) -o $@ $< $(CXXFLAGS) $(LDFLAGS) relacy: $(RELACYNAME) diff --git a/williams-queue/Makefile b/williams-queue/Makefile index 3ef067f..430214e 100644 --- a/williams-queue/Makefile +++ b/williams-queue/Makefile @@ -5,7 +5,7 @@ TESTNAME = williams-queue all: $(TESTNAME) $(TESTNAME): $(TESTNAME).cc $(TESTNAME).h - $(CXX) -o $@ $< $(CPPFLAGS) $(LDFLAGS) + $(CXX) -o $@ $< $(CXXFLAGS) $(LDFLAGS) clean: rm -f $(TESTNAME) *.o