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 f3710a11d3d2b278b5cc5358f0e75fdb377c2a51..22df22369b2b102e4dfc22fb4825c7a7f6e01ed3 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 f1fd851c14edb14a74a68a3b763d88daa1b4a773..7f82f920f3c4df24d5ee651a5b7daccc628c55c9 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 91ff999c9d5163e3d22e0f4754b3a1cdc08bcc0e..0e20427e8f303313972fe68772329e4dfc967e21 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 1996599d1023f590ac414ee8f438b63500afc3a6..ffbb77a3ec0bd478bb75180ade95c2daa4b816b8 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 d66ada32861570347b3c6a9d40c2cdd99190a36c..90dafcfb30dbb7656c5cc97744d68ba7fdf1482f 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 04d2398c594023eee58014b6ff00a603a96d7818..5a311b36643f081deecb5cd4b2006aed3f9c614a 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 cfd4fee04c49fb1ca2cc38b82d78c53b31464da5..8d9ad1e1014f4f2e83a85c74f6e2995339229209 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 cd48d78267f88ebb149fcfdfabce3fc12df383cf..da3a0e46b3ee7f4c5d5a9e4f8165db58d00c1774 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 64651763df01842145a2e2a5c35452ac37f24e36..33b9d0175b5db949a0fccf374b45d8cd2243e527 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 64651763df01842145a2e2a5c35452ac37f24e36..33b9d0175b5db949a0fccf374b45d8cd2243e527 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 3ef067fb04288a296e03e199c1a3ba026bc8f5ae..430214ec04f77a048260acd361821e6f320fed51 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