Skip to content

Commit 49e788f

Browse files
[convbin] remove objcopy dependency
1 parent b62f313 commit 49e788f

2 files changed

Lines changed: 18 additions & 12 deletions

File tree

src/makefile.mk

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ ICON ?=
2222
DESCRIPTION ?=
2323
COMPRESSED ?= NO
2424
ARCHIVED ?= YES
25+
APPLICATION ?= NO
2526
BSSHEAP_LOW ?= 0xD052C6
2627
BSSHEAP_HIGH ?= 0xD13FD8
2728
STACK_HIGH ?= 0xD1A87E
@@ -142,11 +143,10 @@ BINDIR := $(call FORWARD_PATH,$(BINDIR))
142143
GFXDIR := $(call FORWARD_PATH,$(GFXDIR))
143144

144145
# generate default names
145-
TARGETBIN ?= $(NAME).bin
146146
TARGETOBJ ?= $(NAME).obj
147147
TARGETTMP ?= $(NAME).o
148148
TARGETMAP ?= $(NAME).map
149-
TARGET8XP ?= $(NAME).8xp
149+
TARGET ?= $(NAME).8xp
150150
ICON_IMG := $(call FORWARD_PATH,$(wildcard $(call NATIVEPATH,$(ICON))))
151151

152152
# startup routines
@@ -222,6 +222,13 @@ MAKE_GFX ?= cd $(GFXDIR) && $(CONVIMG)
222222
endif
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 =
225232
ifeq ($(ARCHIVED),YES)
226233
CONVBINFLAGS += -r
227234
endif
@@ -231,6 +238,9 @@ CONVBINFLAGS += -k 8xp-compressed
231238
else
232239
CONVBINFLAGS += -k 8xp
233240
endif
241+
endif
242+
243+
# common output targer flags
234244
ifeq ($(HAS_UPPERCASE_NAME),YES)
235245
CONVBINFLAGS += -u
236246
endif
@@ -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
309319
debug: CC_DEBUG = -DDEBUG=1
310320
debug: 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

Comments
 (0)