@@ -29,6 +29,7 @@ LOAD_ADDR ?= 0xD1A87F
2929OUTPUT_MAP ?= YES
3030CFLAGS ?= -Wall -Wextra -Oz
3131CXXFLAGS ?= -Wall -Wextra -Oz
32+ ASFLAGS ?=
3233LTOFLAGS ?= $(CFLAGS )
3334LTO ?= YES
3435SRCDIR ?= src
@@ -108,8 +109,7 @@ STRIP = $(call NATIVEPATH,$(BINUTILS_BIN)/z80-none-elf-strip$(EXE_SUFFIX))
108109CEDEV_OBJ = $(call NATIVEPATH,$(BIN ) /cedev-obj$(EXE_SUFFIX ) )
109110
110111# filepath operations
111- QUOTE_NATIVE = $(call QUOTE_ARG,$(call NATIVEPATH,$1) )
112- MKDIR = $(call NATIVEMKDR,$(call QUOTE_NATIVE,$1) )
112+ MKDIR = $(call NATIVEMKDR,$(call QUOTE_ARG,$(call NATIVEPATH,$1) ) )
113113UPDIR_ADD = $(subst ../,_../,$(subst \,/,$1) )
114114UPDIR_RM = $(subst _../,../,$(subst \,/,$1) )
115115
@@ -202,15 +202,15 @@ endif
202202ifneq ($(ICON_IMG ) ,)
203203ICON_SRC = $(call NATIVEPATH,$(OBJDIR ) /icon.s)
204204ifneq ($(DESCRIPTION ) ,)
205- ICON_CONV ?= $(CONVIMG ) --icon $(call QUOTE_NATIVE ,$(ICON_IMG ) ) --icon-output $(call QUOTE_NATIVE ,$(ICON_SRC ) ) --icon-format gas --icon-description $(DESCRIPTION )
205+ ICON_CONV ?= $(CONVIMG ) --icon $(call QUOTE_ARG ,$(ICON_IMG ) ) --icon-output $(call QUOTE_ARG ,$(ICON_SRC ) ) --icon-format gas --icon-description $(DESCRIPTION )
206206else
207- ICON_CONV ?= $(CONVIMG ) --icon $(call QUOTE_NATIVE ,$(ICON_IMG ) ) --icon-output $(call QUOTE_NATIVE ,$(ICON_SRC ) ) --icon-format gas
207+ ICON_CONV ?= $(CONVIMG ) --icon $(call QUOTE_ARG ,$(ICON_IMG ) ) --icon-output $(call QUOTE_ARG ,$(ICON_SRC ) ) --icon-format gas
208208endif
209209ICON_OBJ = $(call NATIVEPATH,$(OBJDIR ) /icon.obj)
210210else
211211ifneq ($(DESCRIPTION ) ,)
212212ICON_SRC ?= $(call NATIVEPATH,$(OBJDIR ) /icon.s)
213- ICON_CONV ?= $(CONVIMG ) --icon-output $(call QUOTE_NATIVE ,$(ICON_SRC ) ) --icon-format gas --icon-description $(DESCRIPTION )
213+ ICON_CONV ?= $(CONVIMG ) --icon-output $(call QUOTE_ARG ,$(ICON_SRC ) ) --icon-format gas --icon-description $(DESCRIPTION )
214214ICON_OBJ = $(call NATIVEPATH,$(OBJDIR ) /icon.obj)
215215endif
216216endif
@@ -291,12 +291,13 @@ else
291291MATH_ERRNO = -fno-math-errno
292292endif
293293
294- # define the c/c++ flags used by clang
294+ # define the compiler/assembler flags
295295EZLLVMFLAGS = -mllvm -profile-guided-section-prefix=false -mllvm -z80-gas-style -ffunction-sections -fdata-sections -fno-addrsig -fno-autolink -fno-threadsafe-statics $(MATH_ERRNO )
296- EZCOMMONFLAGS = -nostdinc -isystem $(call QUOTE_NATIVE ,$(CEDEV_TOOLCHAIN ) /include) -I$(SRCDIR ) -Xclang -fforce-mangle-main-argc-argv $(EZLLVMFLAGS ) -D__TICE__=1 $(CC_DEBUG ) $(DEFCUSTOMFILE )
296+ EZCOMMONFLAGS = -nostdinc -isystem $(call QUOTE_ARG ,$(CEDEV_TOOLCHAIN ) /include) -I$(SRCDIR ) -Xclang -fforce-mangle-main-argc-argv $(EZLLVMFLAGS ) -D__TICE__=1 $(CC_DEBUG ) $(DEFCUSTOMFILE )
297297EZCFLAGS = $(EZCOMMONFLAGS ) $(CFLAGS )
298- EZCXXFLAGS = $(EZCOMMONFLAGS ) -isystem $(call QUOTE_NATIVE ,$(CEDEV_TOOLCHAIN ) /include/c++) -fno-exceptions -fno-use-cxa-atexit $(CXXFLAGS )
298+ EZCXXFLAGS = $(EZCOMMONFLAGS ) -isystem $(call QUOTE_ARG ,$(CEDEV_TOOLCHAIN ) /include/c++) -fno-exceptions -fno-use-cxa-atexit $(CXXFLAGS )
299299EZLTOFLAGS = $(EZLLVMFLAGS ) $(LTOFLAGS )
300+ EZASFLAGS = -march=ez80+full $(ASFLAGS )
300301
301302.PHONY : all clean version gfx debug
302303
@@ -310,16 +311,16 @@ debug: $(BINDIR)/$(TARGET8XP)
310311
311312$(BINDIR ) /$(TARGET8XP ) : $(BINDIR ) /$(TARGETBIN ) $(MAKEFILE_LIST ) $(DEPS )
312313 $(Q )$(call MKDIR,$(@D ) )
313- $(Q )$(CONVBIN ) $(CONVBINFLAGS ) -i $(call QUOTE_NATIVE ,$< ) -o $(call QUOTE_NATIVE ,$@ )
314+ $(Q )$(CONVBIN ) $(CONVBINFLAGS ) -i $(call QUOTE_ARG ,$< ) -o $(call QUOTE_ARG ,$@ )
314315
315316$(BINDIR ) /$(TARGETBIN ) : $(BINDIR ) /$(TARGETOBJ )
316317 $(Q )$(call MKDIR,$(@D ) )
317- $(Q ) echo [objcopy] $( call NATIVEPATH, $@ )
318+ $(Q ) echo [objcopy] $@
318319 $(Q )$(OBJCOPY ) -O binary $(call QUOTE_ARG,$< ) $(call QUOTE_ARG,$@ )
319320
320321$(BINDIR ) /$(TARGETOBJ ) : $(CRT0_OBJ ) $(OBJDIR ) /$(TARGETTMP ) $(MAKEFILE_LIST ) $(DEPS )
321322 $(Q )$(call MKDIR,$(@D ) )
322- $(Q ) echo [linking] $( call NATIVEPATH, $@ )
323+ $(Q ) echo [linking] $@
323324 $(Q )$(LD ) \
324325 -static \
325326 --entry=__start \
363364 $(Q )$(MAKE_GFX )
364365
365366test :
366- $(Q )$(CEMUTEST ) $(call QUOTE_NATIVE ,$(CURDIR ) /autotest.json)
367+ $(Q )$(CEMUTEST ) $(call QUOTE_ARG ,$(CURDIR ) /autotest.json)
367368
368369version :
369370 $(Q ) echo CE C/C++ Toolchain $(shell cedev-config --version)
@@ -384,16 +385,16 @@ $(OBJDIR)/%.$(CPP_EXTENSION).s: $$(call UPDIR_RM,$$*).$(CPP_EXTENSION) $(EXTRA_H
384385
385386$(OBJDIR ) /% .$(C_EXTENSION ) .o : $(OBJDIR ) /% .$(C_EXTENSION ) .s
386387 $(Q )$(call MKDIR,$(@D ) )
387- $(Q )$(AS ) -march=ez80+full $(call QUOTE_ARG,$(addprefix $(CURDIR ) /,$< ) ) -o $(call QUOTE_ARG,$(addprefix $(CURDIR ) /,$@ ) )
388+ $(Q )$(AS ) $( EZASFLAGS ) $(call QUOTE_ARG,$(addprefix $(CURDIR ) /,$< ) ) -o $(call QUOTE_ARG,$(addprefix $(CURDIR ) /,$@ ) )
388389
389390$(OBJDIR ) /% .$(CPP_EXTENSION ) .o : $(OBJDIR ) /% .$(CPP_EXTENSION ) .s
390391 $(Q )$(call MKDIR,$(@D ) )
391- $(Q )$(AS ) -march=ez80+full $(call QUOTE_ARG,$(addprefix $(CURDIR ) /,$< ) ) -o $(call QUOTE_ARG,$(addprefix $(CURDIR ) /,$@ ) )
392+ $(Q )$(AS ) $( EZASFLAGS ) $(call QUOTE_ARG,$(addprefix $(CURDIR ) /,$< ) ) -o $(call QUOTE_ARG,$(addprefix $(CURDIR ) /,$@ ) )
392393
393394$(OBJDIR ) /% .s.o : $$(call UPDIR_RM,$$* ) .s
394395 $(Q )$(call MKDIR,$(@D ) )
395396 $(Q ) echo [as] $<
396- $(Q )$(AS ) -march=ez80+full $(call QUOTE_ARG,$(addprefix $(CURDIR ) /,$< ) ) -o $(call QUOTE_ARG,$(addprefix $(CURDIR ) /,$@ ) )
397+ $(Q )$(AS ) $( EZASFLAGS ) $(call QUOTE_ARG,$(addprefix $(CURDIR ) /,$< ) ) -o $(call QUOTE_ARG,$(addprefix $(CURDIR ) /,$@ ) )
397398
398399$(OBJDIR ) /% .s : $$(call UPDIR_RM,$$* ) .S
399400 $(Q )$(call MKDIR,$(@D ) )
@@ -402,17 +403,17 @@ $(OBJDIR)/%.s: $$(call UPDIR_RM,$$*).S
402403
403404$(OBJDIR ) /% .S.o : $(OBJDIR ) /% .s
404405 $(Q )$(call MKDIR,$(@D ) )
405- $(Q )$(AS ) -march=ez80+full $(call QUOTE_ARG,$(addprefix $(CURDIR ) /,$< ) ) -o $(call QUOTE_ARG,$(addprefix $(CURDIR ) /,$@ ) )
406+ $(Q )$(AS ) $( EZASFLAGS ) $(call QUOTE_ARG,$(addprefix $(CURDIR ) /,$< ) ) -o $(call QUOTE_ARG,$(addprefix $(CURDIR ) /,$@ ) )
406407
407408# lto
408409$(LTO_OBJ ) : $(LTO_SRC )
409- $(Q )$(AS ) -march=ez80+full $(call QUOTE_ARG,$(addprefix $(CURDIR ) /,$< ) ) -o $(call QUOTE_ARG,$(addprefix $(CURDIR ) /,$@ ) )
410+ $(Q )$(AS ) $( EZASFLAGS ) $(call QUOTE_ARG,$(addprefix $(CURDIR ) /,$< ) ) -o $(call QUOTE_ARG,$(addprefix $(CURDIR ) /,$@ ) )
410411
411412$(LTO_SRC ) : $(LTO_BC )
412413 $(Q )$(CC ) -S $(EZLTOFLAGS ) $(call QUOTE_ARG,$(addprefix $(CURDIR ) /,$< ) ) -o $(call QUOTE_ARG,$(addprefix $(CURDIR ) /,$@ ) )
413414
414415$(LTO_BC ) : $(LTO_FILES )
415- $(Q ) echo [lto] $( call NATIVEPATH, $@ )
416+ $(Q ) echo [lto] $@
416417 $(Q )$(LINK ) $(foreach d,$^ ,$(call QUOTE_ARG,$(addprefix $(CURDIR ) /,$d) ) ) -o $(call QUOTE_ARG,$(addprefix $(CURDIR ) /,$@ ) )
417418
418419$(OBJDIR ) /% .$(C_EXTENSION ) .bc : $$(call UPDIR_RM,$$* ) .$(C_EXTENSION ) $(EXTRA_HEADERS ) $(MAKEFILE_LIST ) $(DEPS )
0 commit comments