68 lines
1.3 KiB
Makefile
68 lines
1.3 KiB
Makefile
# BUILDDIR=.build
|
|
# _BIN= rom_monitor.bin ram_monitor.bin MONITOR.COM
|
|
# BIN = $(patsubst %,$(BUILDDIR)/%,$(_BIN))
|
|
#
|
|
# .PHONY: all clean
|
|
#
|
|
# all: $(BUILDDIR) $(BIN)
|
|
#
|
|
# $(BUILDDIR)/%.bin: src/%.z80 | $(BUILDDIR)
|
|
# @zasm -w -i $< -o $@
|
|
#
|
|
# $(BUILDDIR)/%.COM: src/%.z80 | $(BUILDDIR)
|
|
# @zasm -w -i $< -o $@
|
|
#
|
|
# $(BUILDDIR):
|
|
# @mkdir $(BUILDDIR)
|
|
#
|
|
# clean:
|
|
# @rm -df $(BUILDDIR)/*.bin $(BUILDDIR)/*.COM $(BUILDDIR)/*.lst .build
|
|
|
|
AS = sdasz80
|
|
LD = sdldz80
|
|
OBJCOPY = sdobjcopy
|
|
|
|
BUILD = .build
|
|
|
|
TARGET_ROM = rom_monitor
|
|
TARGET_COM = MONITOR
|
|
|
|
ASFLAGS = -plosff
|
|
|
|
SRC_ROM = \
|
|
src/monitor.s \
|
|
src/rom.s
|
|
SRC_COM = \
|
|
src/monitor.s \
|
|
src/cpm.s
|
|
|
|
OBJ_ROM = $(addprefix $(BUILD)/, $(notdir $(SRC_ROM:.s=.rel)))
|
|
OBJ_COM = $(addprefix $(BUILD)/, $(notdir $(SRC_COM:.s=.rel)))
|
|
vpath %.s $(sort $(dir $(SRC_ROM)))
|
|
vpath %.s $(sort $(dir $(SRC_COM)))
|
|
|
|
.PHONY: all clean
|
|
|
|
all: $(BUILD) $(BUILD)/$(TARGET_ROM).bin $(BUILD)/$(TARGET_COM).COM
|
|
|
|
$(BUILD)/%.rel: %.s Makefile | $(BUILD)
|
|
$(AS) $(ASFLAGS) $@ $<
|
|
|
|
$(BUILD)/$(TARGET_ROM).ihx: $(OBJ_ROM)
|
|
$(LD) -im1 $@ $(OBJ_ROM) -b BOOT=0x0000
|
|
|
|
$(BUILD)/$(TARGET_COM).ihx: $(OBJ_COM)
|
|
$(LD) -im1 $@ $(OBJ_COM) -b BOOT=0x0100 -b MAIN=0xE200
|
|
|
|
%.bin: %.ihx
|
|
$(OBJCOPY) -I ihex -O binary $< $@
|
|
|
|
%.COM: %.ihx
|
|
$(OBJCOPY) -I ihex -O binary $< $@
|
|
|
|
$(BUILD):
|
|
mkdir $@
|
|
|
|
clean:
|
|
rm -fr $(BUILD)
|