-I$(TOP)/include/c -I$(TOP)/include/c/std \
-I$(BUILDDIR)/include
+CINCS += -I$(TOP)/include/c -I$(TOP)/include/c/std \
+ -I$(BUILDDIR)/include
+
WARN += -Wall -Werror
OPT += -O2
DEBUG += -g3
-ABI += -freg-struct-return
+TFLAGS += -freg-struct-return # Target and ABI flags
+ifeq ($(V),)
+ V := @
+else
+ override V :=
+endif
-CXXFLAGS += $(CXXINCS) $(DEFS) $(CXXWARN) $(OPT) $(DEBUG) $(ABI)
+CXXFLAGS += $(DEFS) $(CXXINCS) $(CXXWARN) $(OPT) $(DEBUG) $(TFLAGS)
BUILDCXXFLAGS += $(BUILDDEFS) $(CXXWARN) $(OPT) $(DEBUG)
+CFLAGS += $(CINCS) $(DEFS) $(CWARN) $(OPT) $(DEBUG) $(TFLAGS)
+BUILDCFLAGS += $(BUILDDEFS) $(CWARN) $(OPT) $(DEBUG)
+
+ASFLAGS += $(TFLAGS)
+LDFLAGS += $(TFLAGS)
+
.PHONY: all default rerun dep servers clean distclean
.SUFFIXES: