summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorJulian Blake Kongslie2022-10-14 11:48:14 -0700
committerJulian Blake Kongslie2022-10-14 11:48:14 -0700
commit66bf7bb81fe0f408d3348a7a1b33066d1f369216 (patch)
tree08bf8e02dfbd9bb54aa7c1c95c548f7c600f5da5 /Makefile
parentTrivial infinite increment-and-loop as sample image. (diff)
downloadbiggolf-66bf7bb81fe0f408d3348a7a1b33066d1f369216.tar.xz
Actual palbart-compatible rim/bin loader
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile15
1 files changed, 8 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index 9ae29fd..b6a5e0d 100644
--- a/Makefile
+++ b/Makefile
@@ -11,7 +11,7 @@ CXXFLAGS := $(WARNINGS) $(OPTIMIZE) $(DEBUG)
11 11
12LD := ld 12LD := ld
13 13
14XXD := xxd 14PALBART := palbart
15 15
16override CXXFLAGS += -std=c++20 16override CXXFLAGS += -std=c++20
17 17
@@ -33,23 +33,24 @@ clean:
33.SECONDARY: 33.SECONDARY:
34.SUFFIXES: 34.SUFFIXES:
35 35
36override SOURCES := $(shell find -\( -name build -prune -\) -o -\( -\( -name \*.bin -o -name \*.hex -o -name \*.cpp -\) -print -\)) 36override SOURCES := $(shell find -\( -name build -prune -\) -o -\( -\( -name \*.bin -o -name \*.cpp -o -name \*.pal -\) -print -\))
37 37
38override OBJECTS := $(addprefix $(BUILD)/, $(addsuffix .o, $(basename $(SOURCES)))) 38override OBJECTS := $(addprefix $(BUILD)/, $(addsuffix .o, $(basename $(SOURCES))))
39override DEPENDS := $(addprefix $(BUILD)/, $(addsuffix .d, $(basename $(SOURCES)))) 39override DEPENDS := $(addprefix $(BUILD)/, $(addsuffix .d, $(basename $(SOURCES))))
40 40
41-include $(DEPENDS) 41-include $(DEPENDS)
42 42
43$(BUILD)/%.bin: %.hex 43$(BUILD)/%.bin: %.bin
44 @mkdir -p $(dir $@) 44 @mkdir -p $(dir $@)
45 $(XXD) -r -p $< $@ 45 ln -ft $(dir $@) $<
46 46
47$(BUILD)/%.o: %.bin 47$(BUILD)/%.bin: %.pal
48 @mkdir -p $(dir $@) 48 @mkdir -p $(dir $@)
49 $(LD) -r -b binary -z noexecstack -o $@ $< 49 ln -ft $(dir $@) $<
50 $(PALBART) -$$ -a -n $(basename $@).pal
50 51
51$(BUILD)/%.o: $(BUILD)/%.bin 52$(BUILD)/%.o: $(BUILD)/%.bin
52 $(LD) -r -b binary -z noexecstack -o $@ $< 53 cd $(dir $@) && $(LD) -r -b binary -z noexecstack -o $(notdir $@) $(notdir $<)
53 54
54$(BUILD)/%.o: %.cpp 55$(BUILD)/%.o: %.cpp
55 @mkdir -p $(dir $@) 56 @mkdir -p $(dir $@)