forked from Ports/goldeneye-pc-port
42 lines
1.4 KiB
Makefile
42 lines
1.4 KiB
Makefile
# bg
|
|
|
|
# Pattern rules for building .seg files from .bin files
|
|
$(BUILD_DIR)/$(OBSEG_DIR)/bg/%.seg: $(OBSEG_DIR)/bg/$(COUNTRYCODE)/%.bin
|
|
@cp -f $< $@
|
|
|
|
$(BUILD_DIR)/$(OBSEG_DIR)/bg/%.seg: $(OBSEG_DIR)/bg/%.bin
|
|
@cp -f $< $@
|
|
|
|
$(BUILD_DIR)/$(OBSEG_DIR)/bg/%.seg: $(BUILD_DIR)/$(OBSEG_DIR)/bg/%.bin
|
|
@cp -f $< $@
|
|
|
|
# Build .bin from .elf
|
|
$(BUILD_DIR)/$(OBSEG_DIR)/bg/%.bin: $(BUILD_DIR)/$(OBSEG_DIR)/bg/%.elf
|
|
$(OBJCOPY) $< $@ -O binary
|
|
|
|
# Build .elf from .o
|
|
$(BUILD_DIR)/$(OBSEG_DIR)/bg/%.elf: $(BUILD_DIR)/$(OBSEG_DIR)/bg/%.o
|
|
$(LD) -T assets/obseg/bg/bg_all_p.ld -o $@ $<
|
|
|
|
# Build .o from .c (country-specific and generic)
|
|
$(BUILD_DIR)/$(OBSEG_DIR)/bg/%.o: $(OBSEG_DIR)/bg/%.c
|
|
$(CC) -c $(CFLAGS) -o $@ -O2 $<
|
|
|
|
$(BUILD_DIR)/$(OBSEG_DIR)/bg/%.o: $(OBSEG_DIR)/bg/$(COUNTRYCODE)/%.c
|
|
$(CC) -c $(CFLAGS) -o $@ -O2 $<
|
|
|
|
# List of segment names (from LEVELNAMELIST)
|
|
BG_SEG_NAMES = $(foreach lvl,$(LEVELNAMELIST),bg_$(lvl)_all_p)
|
|
|
|
# Generate all file targets
|
|
BG_O_FILES := $(foreach name,$(BG_SEG_NAMES),$(BUILD_DIR)/$(OBSEG_DIR)/bg/$(name).o)
|
|
BG_BIN_FILES := $(foreach name,$(BG_SEG_NAMES),$(BUILD_DIR)/$(OBSEG_DIR)/bg/$(name).bin)
|
|
BG_ELF_FILES := $(foreach name,$(BG_SEG_NAMES),$(BUILD_DIR)/$(OBSEG_DIR)/bg/$(name).elf)
|
|
BG_SEG_FILES := $(foreach name,$(BG_SEG_NAMES),$(BUILD_DIR)/$(OBSEG_DIR)/bg/$(name).seg)
|
|
|
|
BG_BUILD_FILES := $(BG_O_FILES) $(BG_BIN_FILES) $(BG_ELF_FILES) $(BG_SEG_FILES)
|
|
|
|
# Default target
|
|
all: $(BG_SEG_FILES)
|
|
|
|
.PHONY: all |