diff options
Diffstat (limited to '')
| -rw-r--r-- | Makefile | 15 |
1 files changed, 8 insertions, 7 deletions
| @@ -11,7 +11,7 @@ CXXFLAGS := $(WARNINGS) $(OPTIMIZE) $(DEBUG) | |||
| 11 | 11 | ||
| 12 | LD := ld | 12 | LD := ld |
| 13 | 13 | ||
| 14 | XXD := xxd | 14 | PALBART := palbart |
| 15 | 15 | ||
| 16 | override CXXFLAGS += -std=c++20 | 16 | override CXXFLAGS += -std=c++20 |
| 17 | 17 | ||
| @@ -33,23 +33,24 @@ clean: | |||
| 33 | .SECONDARY: | 33 | .SECONDARY: |
| 34 | .SUFFIXES: | 34 | .SUFFIXES: |
| 35 | 35 | ||
| 36 | override SOURCES := $(shell find -\( -name build -prune -\) -o -\( -\( -name \*.bin -o -name \*.hex -o -name \*.cpp -\) -print -\)) | 36 | override SOURCES := $(shell find -\( -name build -prune -\) -o -\( -\( -name \*.bin -o -name \*.cpp -o -name \*.pal -\) -print -\)) |
| 37 | 37 | ||
| 38 | override OBJECTS := $(addprefix $(BUILD)/, $(addsuffix .o, $(basename $(SOURCES)))) | 38 | override OBJECTS := $(addprefix $(BUILD)/, $(addsuffix .o, $(basename $(SOURCES)))) |
| 39 | override DEPENDS := $(addprefix $(BUILD)/, $(addsuffix .d, $(basename $(SOURCES)))) | 39 | override 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 $@) |
