Skip to content

Commit 5c5ff4d

Browse files
committed
reorganize compiler/assembler flags in common.mk and makefile.mk
1 parent 4fb8622 commit 5c5ff4d

2 files changed

Lines changed: 66 additions & 11 deletions

File tree

src/common.mk

Lines changed: 33 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -82,13 +82,39 @@ endif
8282
QUOTE_NATIVE = $(call QUOTE_ARG,$(call NATIVEPATH,$1))
8383
ROOT_DIR := $(dir $(realpath $(call NATIVEPATH,$(lastword $(MAKEFILE_LIST)))))
8484

85-
EZCFLAGS := -S -fno-autolink -fno-addrsig -fno-math-errno -ffunction-sections -fdata-sections -ffreestanding
86-
EZCFLAGS += -Wall -Wextra -Wimplicit-float-conversion -Wimplicit-int-float-conversion -Oz
87-
EZCFLAGS += -D_EZ80 -D__TICE__=1
88-
EZCFLAGS += -isystem $(call NATIVEPATH,$(ROOT_DIR)libc/include) -I$(call NATIVEPATH,$(ROOT_DIR)ce/include) -I$(call NATIVEPATH,$(ROOT_DIR)fileioc)
89-
EZCFLAGS += -mllvm -profile-guided-section-prefix=false -mllvm -z80-gas-style
90-
EZCXXFLAGS := $(EZCFLAGS) -fno-exceptions -fno-rtti
91-
EZCXXFLAGS += -isystem $(call NATIVEPATH,$(ROOT_DIR)libcxx/include)
85+
EZLLVMFLAGS :=
86+
EZLLVMFLAGS += -fno-autolink
87+
EZLLVMFLAGS += -fno-addrsig
88+
EZLLVMFLAGS += -fno-threadsafe-statics
89+
EZLLVMFLAGS += -mllvm -profile-guided-section-prefix=false
90+
EZLLVMFLAGS += -mllvm -z80-gas-style
91+
EZLLVMFLAGS += -ffunction-sections
92+
EZLLVMFLAGS += -fdata-sections
93+
94+
EZCOMMONFLAGS := -S
95+
EZCOMMONFLAGS += -fno-math-errno
96+
EZCOMMONFLAGS += -ffreestanding
97+
EZCOMMONFLAGS += $(EZLLVMFLAGS)
98+
EZCOMMONFLAGS += -Oz
99+
EZCOMMONFLAGS += -Wall -Wextra -Wshadow
100+
EZCOMMONFLAGS += -Wimplicit-float-conversion -Wimplicit-int-float-conversion
101+
EZCOMMONFLAGS += -Wimplicit-int-conversion
102+
EZCOMMONFLAGS += -D_EZ80 -D__TICE__=1
103+
104+
EZLIBCINCLUDE := -isystem $(call NATIVEPATH,$(ROOT_DIR)libc/include)
105+
EZLIBCINCLUDE += -I$(call NATIVEPATH,$(ROOT_DIR)ce/include)
106+
EZLIBCINCLUDE += -I$(call NATIVEPATH,$(ROOT_DIR)fileioc)
107+
108+
EZLIBCXXINCLUDE := -isystem $(call NATIVEPATH,$(ROOT_DIR)libcxx/include)
109+
110+
EZCFLAGS := $(EZCOMMONFLAGS) $(EZLIBCINCLUDE)
111+
112+
# The C++ standard requires libcxx headers to be searched before libc headers
113+
# this means include/c++/math.h must be included before include/math.h
114+
EZCXXFLAGS := $(EZCOMMONFLAGS) $(EZLIBCXXINCLUDE) $(EZLIBCINCLUDE)
115+
EZCXXFLAGS += -fno-exceptions
116+
EZCXXFLAGS += -fno-rtti
117+
92118
EZASFLAGS := -march=ez80+full
93119
EZASFLAGS += --defsym __TICE__=1
94120

src/makefile.mk

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -314,10 +314,39 @@ MATH_ERRNO = -fno-math-errno
314314
endif
315315

316316
# define the compiler/assembler flags
317-
EZLLVMFLAGS = -mllvm -profile-guided-section-prefix=false -mllvm -z80-gas-style -ffunction-sections -fdata-sections -fno-addrsig -fno-autolink -fno-threadsafe-statics $(MATH_ERRNO)
318-
EZCOMMONFLAGS = -nostdinc -isystem $(call QUOTE_ARG,$(call FORWARD_PATH,$(CEDEV_TOOLCHAIN)/include)) -I$(SRCDIR) -Xclang -fforce-mangle-main-argc-argv $(EZLLVMFLAGS) -D__TICE__=1 $(CC_CUSTOMFILE)
319-
EZCFLAGS = $(EZCOMMONFLAGS) $(CFLAGS) $(CC_DEBUG)
320-
EZCXXFLAGS = $(EZCOMMONFLAGS) -isystem $(call QUOTE_ARG,$(call FORWARD_PATH,$(CEDEV_TOOLCHAIN)/include/c++)) -fno-exceptions -fno-use-cxa-atexit $(CXXFLAGS) $(CC_DEBUG)
317+
318+
EZLLVMFLAGS =
319+
EZLLVMFLAGS += -fno-autolink
320+
EZLLVMFLAGS += -fno-addrsig
321+
EZLLVMFLAGS += -fno-threadsafe-statics
322+
EZLLVMFLAGS += -mllvm -profile-guided-section-prefix=false
323+
EZLLVMFLAGS += -mllvm -z80-gas-style
324+
EZLLVMFLAGS += -ffunction-sections
325+
EZLLVMFLAGS += -fdata-sections
326+
EZLLVMFLAGS += $(MATH_ERRNO)
327+
328+
EZCOMMONFLAGS =
329+
EZCOMMONFLAGS += -nostdinc
330+
EZCOMMONFLAGS += -Xclang -fforce-mangle-main-argc-argv
331+
EZCOMMONFLAGS += $(EZLLVMFLAGS)
332+
EZCOMMONFLAGS += -D__TICE__=1
333+
EZCOMMONFLAGS += $(CC_CUSTOMFILE)
334+
335+
EZLIBCINCLUDE = -isystem $(call QUOTE_ARG,$(call FORWARD_PATH,$(CEDEV_TOOLCHAIN)/include))
336+
EZLIBCINCLUDE += -I$(SRCDIR)
337+
338+
EZLIBCXXINCLUDE = -isystem $(call QUOTE_ARG,$(call FORWARD_PATH,$(CEDEV_TOOLCHAIN)/include/c++))
339+
340+
EZCFLAGS = $(EZCOMMONFLAGS) $(EZLIBCINCLUDE)
341+
EZCFLAGS += $(CFLAGS) $(CC_DEBUG)
342+
343+
# The C++ standard requires libcxx headers to be searched before libc headers
344+
# this means include/c++/math.h must be included before include/math.h
345+
EZCXXFLAGS = $(EZCOMMONFLAGS) $(EZLIBCXXINCLUDE) $(EZLIBCINCLUDE)
346+
EZCXXFLAGS += -fno-exceptions
347+
EZCXXFLAGS += -fno-use-cxa-atexit
348+
EZCXXFLAGS += $(CXXFLAGS) $(CC_DEBUG)
349+
321350
EZLTOFLAGS = $(EZLLVMFLAGS) $(LTOFLAGS)
322351
EZASFLAGS = -march=ez80+full $(ASFLAGS)
323352

0 commit comments

Comments
 (0)