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