@@ -22,6 +22,7 @@ ICON ?=
2222DESCRIPTION ?=
2323COMPRESSED ?= NO
2424ARCHIVED ?= YES
25+ APPLICATION ?= NO
2526BSSHEAP_LOW ?= 0xD052C6
2627BSSHEAP_HIGH ?= 0xD13FD8
2728STACK_HIGH ?= 0xD1A87E
@@ -142,11 +143,10 @@ BINDIR := $(call FORWARD_PATH,$(BINDIR))
142143GFXDIR := $(call FORWARD_PATH,$(GFXDIR ) )
143144
144145# generate default names
145- TARGETBIN ?= $(NAME ) .bin
146146TARGETOBJ ?= $(NAME ) .obj
147147TARGETTMP ?= $(NAME ) .o
148148TARGETMAP ?= $(NAME ) .map
149- TARGET8XP ?= $(NAME ) .8xp
149+ TARGET ?= $(NAME ) .8xp
150150ICON_IMG := $(call FORWARD_PATH,$(wildcard $(call NATIVEPATH,$(ICON ) ) ) )
151151
152152# startup routines
@@ -222,6 +222,13 @@ MAKE_GFX ?= cd $(GFXDIR) && $(CONVIMG)
222222endif
223223
224224# determine output target flags
225+ ifeq ($(APPLICATION ) ,YES)
226+ LD_EMIT_RELOCS = --emit-relocs
227+ LOAD_ADDR = 0x000000
228+ CONVBINFLAGS += -k 8ek
229+ TARGET ?= $(NAME ) .8ek
230+ else
231+ LD_EMIT_RELOCS =
225232ifeq ($(ARCHIVED ) ,YES)
226233CONVBINFLAGS += -r
227234endif
@@ -231,6 +238,9 @@ CONVBINFLAGS += -k 8xp-compressed
231238else
232239CONVBINFLAGS += -k 8xp
233240endif
241+ endif
242+
243+ # common output targer flags
234244ifeq ($(HAS_UPPERCASE_NAME ) ,YES)
235245CONVBINFLAGS += -u
236246endif
@@ -303,21 +313,16 @@ EZASFLAGS = -march=ez80+full $(ASFLAGS)
303313.PHONY : all clean version gfx debug
304314
305315# this rule is trigged to build everything
306- all : $(BINDIR ) /$(TARGET8XP )
316+ all : $(BINDIR ) /$(TARGET )
307317
308318# this rule is trigged to build debug everything
309319debug : CC_DEBUG = -DDEBUG=1
310320debug : LD_DEBUG = --defsym DEBUG=1
311- debug : $(BINDIR ) /$(TARGET8XP )
312-
313- $(BINDIR ) /$(TARGET8XP ) : $(BINDIR ) /$(TARGETBIN ) $(MAKEFILE_LIST ) $(DEPS )
314- $(Q )$(call MKDIR,$(@D ) )
315- $(Q )$(CONVBIN ) $(CONVBINFLAGS ) -i $(call QUOTE_ARG,$< ) -o $(call QUOTE_ARG,$@ )
321+ debug : $(BINDIR ) /$(TARGET )
316322
317- $(BINDIR ) /$(TARGETBIN ) : $(BINDIR ) /$(TARGETOBJ )
323+ $(BINDIR ) /$(TARGET ) : $(BINDIR ) /$(TARGETOBJ ) $( MAKEFILE_LIST ) $( DEPS )
318324 $(Q )$(call MKDIR,$(@D ) )
319- $(Q ) echo [objcopy] $@
320- $(Q )$(OBJCOPY ) -O binary $(call QUOTE_ARG,$< ) $(call QUOTE_ARG,$@ )
325+ $(Q )$(CONVBIN ) $(CONVBINFLAGS ) -j elf -i $(call QUOTE_ARG,$< ) -o $(call QUOTE_ARG,$@ )
321326
322327$(BINDIR ) /$(TARGETOBJ ) : $(CRT0_OBJ ) $(OBJDIR ) /$(TARGETTMP ) $(MAKEFILE_LIST ) $(DEPS )
323328 $(Q )$(call MKDIR,$(@D ) )
@@ -335,6 +340,7 @@ $(BINDIR)/$(TARGETOBJ): $(CRT0_OBJ) $(OBJDIR)/$(TARGETTMP) $(MAKEFILE_LIST) $(DE
335340 --defsym __TICE__=1 \
336341 -T$(LINKER_SCRIPT ) \
337342 $(LD_MAP ) \
343+ $(LD_EMIT_RELOCS ) \
338344 $(EXTRA_LDFLAGS ) \
339345 $(OBJDIR ) /$(TARGETTMP ) \
340346 $(CRT0_OBJ ) \
0 commit comments