I have a problem with the "DEBUG" variable in my makefile.
It is set to 1 in the first line of my makefile and when i print it in my target it shows as "1", but the conditional for the compiler flags sees "0".
If I call make DEBUG=1 it works as expected again.
Does anyone know why this happens?
Thanks a lot!
-ExXec
Code: Select all
DEBUG ?= 1
LINK_TIME_OPT = 1
...
ifeq ($(DEBUG), 1)
CFLAGS += -ggdb -DDEBUG -g -DPENDSV_DEBUG
COPT += -O0
else
COPT += -Os -DNDEBUG
# Flags for Link Time Optimization
ifeq ($(LINK_TIME_OPT), 1)
CFLAGS += -flto -fuse-linker-plugin
endif
endif
Code: Select all
Input:
make DEBUG=1
Output:
+---------------------------------------------------
+ DEBUG = 1
+---------------------------------------------------
+ Size = 257224 + 624 kiB
+---------------------------------------------------
+ OPT-Flags: -O0
+---------------------------------------------------
Code: Select all
Input:
make
Output:
+---------------------------------------------------
+ DEBUG = 1
+---------------------------------------------------
+ Size = 157568 + 624 kiB
+---------------------------------------------------
+ OPT-Flags: -Os -DNDEBUG
+---------------------------------------------------
Link to the file: https://github.com/ExXeptional/micropyt ... 3/Makefile
Code for output:
Code: Select all
@echo +---------------------------------------------------
@echo + DEBUG = $(DEBUG)
@echo +---------------------------------------------------
@echo + Size = $(word 7, $(shell $(CROSS_COMPILE)size -Bd $(PROJECT_NAME).axf)) + $(word 8, $(shell $(CROSS_COMPILE)size -Bd $(PROJECT_NAME).axf)) kiB
@echo +---------------------------------------------------
@echo + OPT-Flags: $(COPT)
@echo +---------------------------------------------------