Browse Source

add CFLAGS and DEBUG define, quiet output by default, add SANITIZER flags, add command to print variables

master
Brad Parker 3 years ago
parent
commit
2a40e3d88e
  1. 23
      Makefile

23
Makefile

@ -1,6 +1,16 @@
STATIC_LINKING := 0 STATIC_LINKING := 0
AR := ar AR := ar
ifneq ($(V),1)
Q := @
endif
ifneq ($(SANITIZER),)
CFLAGS := -fsanitize=$(SANITIZER) $(CFLAGS)
CXXFLAGS := -fsanitize=$(SANITIZER) $(CXXFLAGS)
LDFLAGS := -fsanitize=$(SANITIZER) $(LDFLAGS)
endif
ifeq ($(platform),) ifeq ($(platform),)
platform = unix platform = unix
ifeq ($(shell uname -a),) ifeq ($(shell uname -a),)
@ -29,7 +39,6 @@ else ifneq ($(findstring MINGW,$(shell uname -a)),)
system_platform = win system_platform = win
endif endif
CORE_DIR += . CORE_DIR += .
TARGET_NAME := skeleton TARGET_NAME := skeleton
LIBM = -lm LIBM = -lm
@ -108,8 +117,10 @@ endif
LDFLAGS += $(LIBM) LDFLAGS += $(LIBM)
ifeq ($(DEBUG), 1) ifeq ($(DEBUG), 1)
CXXFLAGS += -O0 -g CFLAGS += -O0 -g -DDEBUG
CXXFLAGS += -O0 -g -DDEBUG
else else
CFLAGS += -O3
CXXFLAGS += -O3 CXXFLAGS += -O3
endif endif
@ -126,14 +137,18 @@ $(TARGET): $(OBJECTS)
ifeq ($(STATIC_LINKING), 1) ifeq ($(STATIC_LINKING), 1)
$(AR) rcs $@ $(OBJECTS) $(AR) rcs $@ $(OBJECTS)
else else
$(CXX) $(fpic) $(SHARED) $(INCLUDES) -o $@ $(OBJECTS) $(LDFLAGS) @$(if $(Q), $(shell echo echo LD $@),)
$(Q)$(CXX) $(fpic) $(SHARED) $(INCLUDES) -o $@ $(OBJECTS) $(LDFLAGS)
endif endif
%.o: %.c %.o: %.c
$(CXX) $(CXXFLAGS) $(fpic) -c -o $@ $< @$(if $(Q), $(shell echo echo CC $<),)
$(Q)$(CXX) $(CFLAGS) $(fpic) -c -o $@ $<
clean: clean:
rm -f $(OBJECTS) $(TARGET) rm -f $(OBJECTS) $(TARGET)
.PHONY: clean .PHONY: clean
print-%:
@echo '$*=$($*)'

Loading…
Cancel
Save