mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-26 03:34:15 +01:00
Port symfile implementation from Ruby, FireRed
This commit is contained in:
parent
69fb670955
commit
5ccac26f26
44
.github/workflows/build.yml
vendored
44
.github/workflows/build.yml
vendored
@ -7,11 +7,29 @@ on:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-18.04
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
GAME_VERSION: EMERALD
|
||||
GAME_REVISION: 0
|
||||
GAME_LANGUAGE: ENGLISH
|
||||
MODERN: 0
|
||||
COMPARE: 1
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@master
|
||||
|
||||
- name: Checkout syms
|
||||
uses: actions/checkout@master
|
||||
with:
|
||||
path: symbols
|
||||
ref: symbols
|
||||
|
||||
- name: Checkout agbcc
|
||||
uses: actions/checkout@master
|
||||
with:
|
||||
path: agbcc
|
||||
repository: pret/agbcc
|
||||
|
||||
- name: Install binutils
|
||||
run: sudo apt install gcc-arm-none-eabi binutils-arm-none-eabi
|
||||
# build-essential, git, and libpng-dev are already installed
|
||||
@ -20,16 +38,18 @@ jobs:
|
||||
|
||||
- name: Install agbcc
|
||||
run: |
|
||||
git clone https://github.com/pret/agbcc.git
|
||||
cd agbcc
|
||||
./build.sh
|
||||
./install.sh ../
|
||||
working-directory: agbcc
|
||||
|
||||
- name: Compare
|
||||
run: make -j${nproc} compare
|
||||
run: make -j${nproc} all syms
|
||||
|
||||
- name: Modern
|
||||
run: make -j${nproc} modern
|
||||
env:
|
||||
MODERN: 1
|
||||
COMPARE: 0
|
||||
run: make -j${nproc} all
|
||||
|
||||
- name: Webhook
|
||||
if: ${{ github.event_name == 'push' }}
|
||||
@ -38,3 +58,17 @@ jobs:
|
||||
CALCROM_DISCORD_WEBHOOK_AVATAR_URL: https://i.imgur.com/38BQHdd.png
|
||||
CALCROM_DISCORD_WEBHOOK_URL: ${{ secrets.CALCROM_DISCORD_WEBHOOK_URL }}
|
||||
run: sh .github/calcrom/webhook.sh pokeemerald
|
||||
|
||||
- name: Move symfiles
|
||||
if: ${{ github.event_name == 'push' }}
|
||||
run: |
|
||||
cp -v *.sym symbols/
|
||||
|
||||
- name: Update symfiles
|
||||
if: ${{ github.event_name == 'push' }}
|
||||
uses: EndBug/add-and-commit@v7
|
||||
with:
|
||||
branch: symbols
|
||||
cwd: "./symbols"
|
||||
add: "*.sym"
|
||||
message: ${{ github.event.commits[0].message }}
|
||||
|
13
Makefile
13
Makefile
@ -20,6 +20,7 @@ endif
|
||||
|
||||
PREFIX := arm-none-eabi-
|
||||
OBJCOPY := $(PREFIX)objcopy
|
||||
OBJDUMP := $(PREFIX)objdump
|
||||
AS := $(PREFIX)as
|
||||
|
||||
LD := $(PREFIX)ld
|
||||
@ -75,6 +76,7 @@ SHELL := /bin/bash -o pipefail
|
||||
|
||||
ELF = $(ROM:.gba=.elf)
|
||||
MAP = $(ROM:.gba=.map)
|
||||
SYM = $(ROM:.gba=.sym)
|
||||
|
||||
C_SUBDIR = src
|
||||
GFLIB_SUBDIR = gflib
|
||||
@ -153,7 +155,7 @@ infoshell = $(foreach line, $(shell $1 | sed "s/ /__SPACE__/g"), $(info $(subst
|
||||
# Disable dependency scanning for clean/tidy/tools
|
||||
# Use a separate minimal makefile for speed
|
||||
# Since we don't need to reload most of this makefile
|
||||
ifeq (,$(filter-out all rom compare modern berry_fix libagbsyscall,$(MAKECMDGOALS)))
|
||||
ifeq (,$(filter-out all rom compare modern berry_fix libagbsyscall syms,$(MAKECMDGOALS)))
|
||||
$(call infoshell, $(MAKE) -f make_tools.mk)
|
||||
else
|
||||
NODEP ?= 1
|
||||
@ -211,6 +213,8 @@ all: rom
|
||||
|
||||
tools: $(TOOLDIRS)
|
||||
|
||||
syms: $(SYM)
|
||||
|
||||
$(TOOLDIRS):
|
||||
@$(MAKE) -C $@
|
||||
|
||||
@ -428,3 +432,10 @@ berry_fix:
|
||||
|
||||
libagbsyscall:
|
||||
@$(MAKE) -C libagbsyscall TOOLCHAIN=$(TOOLCHAIN) MODERN=$(MODERN)
|
||||
|
||||
###################
|
||||
### Symbol file ###
|
||||
###################
|
||||
|
||||
$(SYM): $(ELF)
|
||||
$(OBJDUMP) -t $< | sort -u | grep -E "^0[2389]" > $@
|
||||
|
Loading…
Reference in New Issue
Block a user