From: Brian Norris <banorris@uci.edu>
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://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=77847ecd3fa6a643302770491928787ba143cde1;p=model-checker-benchmarks.git

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