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.
all: $(TESTNAME)
$(TESTNAME): $(TESTNAME).cc $(TESTNAME).h
all: $(TESTNAME)
$(TESTNAME): $(TESTNAME).cc $(TESTNAME).h
- $(CXX) -o $@ $< $(CPPFLAGS) $(LDFLAGS)
+ $(CXX) -o $@ $< $(CXXFLAGS) $(LDFLAGS)
clean:
rm -f $(TESTNAME) *.o
clean:
rm -f $(TESTNAME) *.o
BASE = ../..
INCLUDE = -I$(BASE)/include -I../include
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)
LDFLAGS += -L$(BASE) -l$(LIB_NAME) -rdynamic
# Mac OSX options
ifeq ($(UNAME), Darwin)
MACFLAGS = -D_XOPEN_SOURCE -DMAC
CPPFLAGS += $(MACFLAGS)
CFLAGS += $(MACFLAGS)
LDFLAGS += $(MACFLAGS)
endif
CFLAGS += $(MACFLAGS)
LDFLAGS += $(MACFLAGS)
endif
all: $(TESTNAME)
$(TESTNAME): $(HEADERS) $(OBJECTS)
all: $(TESTNAME)
$(TESTNAME): $(HEADERS) $(OBJECTS)
- $(CC) -o $@ $(OBJECTS) $(CPPFLAGS) $(LDFLAGS)
+ $(CC) -o $@ $(OBJECTS) $(CFLAGS) $(LDFLAGS)
- $(CC) -c -o $@ $< $(CPPFLAGS)
+ $(CC) -c -o $@ $< $(CFLAGS)
clean:
rm -f $(TESTNAME) *.o
clean:
rm -f $(TESTNAME) *.o
all: $(TESTNAME)
$(TESTNAME): $(TESTNAME).cc
all: $(TESTNAME)
$(TESTNAME): $(TESTNAME).cc
- $(CXX) -o $@ $< $(CPPFLAGS) $(LDFLAGS)
+ $(CXX) -o $@ $< $(CXXFLAGS) $(LDFLAGS)
clean:
rm -f $(TESTNAME) *.o
clean:
rm -f $(TESTNAME) *.o
all: $(TESTNAME)
$(TESTNAME): $(TESTNAME).c
all: $(TESTNAME)
$(TESTNAME): $(TESTNAME).c
- $(CC) -o $@ $< $(CPPFLAGS) $(LDFLAGS)
+ $(CC) -o $@ $< $(CFLAGS) $(LDFLAGS)
clean:
rm -f $(TESTNAME) *.o
clean:
rm -f $(TESTNAME) *.o
all: $(TESTNAME)
$(TESTNAME): $(TESTNAME).cc $(TESTNAME).h
all: $(TESTNAME)
$(TESTNAME): $(TESTNAME).cc $(TESTNAME).h
- $(CXX) -o $@ $< $(CPPFLAGS) $(LDFLAGS)
+ $(CXX) -o $@ $< $(CXXFLAGS) $(LDFLAGS)
clean:
rm -f $(TESTNAME) *.o
clean:
rm -f $(TESTNAME) *.o
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
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
clean:
rm -f $(TESTS) *.o
all: $(TESTNAME)
$(TESTNAME): $(HEADERS) $(OBJECTS)
all: $(TESTNAME)
$(TESTNAME): $(HEADERS) $(OBJECTS)
- $(CC) -o $@ $(OBJECTS) $(CPPFLAGS) $(LDFLAGS)
+ $(CC) -o $@ $(OBJECTS) $(CFLAGS) $(LDFLAGS)
- $(CC) -c -o $@ $< $(CPPFLAGS)
+ $(CC) -c -o $@ $< $(CFLAGS)
clean:
rm -f $(TESTNAME) *.o
clean:
rm -f $(TESTNAME) *.o
all: $(TESTNAME)
$(TESTNAME): $(TESTNAME).cc queue.h eventcount.h
all: $(TESTNAME)
$(TESTNAME): $(TESTNAME).cc queue.h eventcount.h
- $(CXX) -o $@ $< $(CPPFLAGS) $(LDFLAGS)
+ $(CXX) -o $@ $< $(CXXFLAGS) $(LDFLAGS)
all: $(TESTNAME)
$(TESTNAME): $(TESTNAME).cc queue.h eventcount.h
all: $(TESTNAME)
$(TESTNAME): $(TESTNAME).cc queue.h eventcount.h
- $(CXX) -o $@ $< $(CPPFLAGS) $(LDFLAGS)
+ $(CXX) -o $@ $< $(CXXFLAGS) $(LDFLAGS)
all: $(TESTNAME)
$(TESTNAME): $(TESTNAME).cc $(TESTNAME).h
all: $(TESTNAME)
$(TESTNAME): $(TESTNAME).cc $(TESTNAME).h
- $(CXX) -o $@ $< $(CPPFLAGS) $(LDFLAGS)
+ $(CXX) -o $@ $< $(CXXFLAGS) $(LDFLAGS)
clean:
rm -f $(TESTNAME) *.o
clean:
rm -f $(TESTNAME) *.o