Makefiles: use appropriate preprocessor vs. compiler flags
authorBrian Norris <banorris@uci.edu>
Tue, 28 May 2013 22:09:44 +0000 (15:09 -0700)
committerBrian Norris <banorris@uci.edu>
Tue, 28 May 2013 22:09:44 +0000 (15:09 -0700)
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.

barrier/Makefile
benchmarks.mk
chase-lev-deque/Makefile
dekker-fences/Makefile
linuxrwlocks/Makefile
mcs-lock/Makefile
mpmc-queue/Makefile
ms-queue/Makefile
spsc-bugfix/Makefile
spsc-queue/Makefile
williams-queue/Makefile

index f3710a1..22df223 100644 (file)
@@ -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
index f1fd851..7f82f92 100644 (file)
@@ -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
index 91ff999..0e20427 100644 (file)
@@ -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
index 1996599..ffbb77a 100644 (file)
@@ -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
index d66ada3..90dafcf 100644 (file)
@@ -5,7 +5,7 @@ TESTNAME = linuxrwlocks
 all: $(TESTNAME)
 
 $(TESTNAME): $(TESTNAME).c
-       $(CC) -o $@ $< $(CPPFLAGS) $(LDFLAGS)
+       $(CC) -o $@ $< $(CFLAGS) $(LDFLAGS)
 
 clean:
        rm -f $(TESTNAME) *.o
index 04d2398..5a311b3 100644 (file)
@@ -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
index cfd4fee..8d9ad1e 100644 (file)
@@ -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
index cd48d78..da3a0e4 100644 (file)
@@ -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
index 6465176..33b9d01 100644 (file)
@@ -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)
 
index 6465176..33b9d01 100644 (file)
@@ -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)
 
index 3ef067f..430214e 100644 (file)
@@ -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