mirror of
https://github.com/zeldaret/af.git
synced 2026-09-26 13:33:16 -04:00
d66a21685f
* git subrepo clone git@github.com:ethteck/splat.git tools/splat subrepo: subdir: "tools/splat" merged: "4fec014" upstream: origin: "git@github.com:ethteck/splat.git" branch: "master" commit: "4fec014" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * gitignore * decompress_baserom.py * Initial yaml * run flib * more yaml stuff * Builds an uncompressed ROM * setup ido download * git subrepo clone git@github.com:simonlindholm/asm-differ.git tools/asm-differ subrepo: subdir: "tools/asm-differ" merged: "ae40866" upstream: origin: "git@github.com:simonlindholm/asm-differ.git" branch: "main" commit: "ae40866" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * git subrepo clone git@github.com:simonlindholm/asm-processor.git tools/asm-processor subrepo: subdir: "tools/asm-processor" merged: "bbd86ea" upstream: origin: "git@github.com:simonlindholm/asm-processor.git" branch: "main" commit: "bbd86ea" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * git subrepo clone (merge) git@github.com:EllipticEllipsis/fado.git tools/fado subrepo: subdir: "tools/fado" merged: "8d896ee" upstream: origin: "git@github.com:EllipticEllipsis/fado.git" branch: "master" commit: "8d896ee" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * setup ido in makefile * data and rodata * add automatic file splits * bootstrap most symbol_addrs * git subrepo clone --branch=irix git@github.com:hensldm/ultralib.git lib/ultralib subrepo: subdir: "lib/ultralib" merged: "0d1e095" upstream: origin: "git@github.com:hensldm/ultralib.git" branch: "irix" commit: "0d1e095" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * setup ido building * various tooling * git subrepo pull tools/asm-differ subrepo: subdir: "tools/asm-differ" merged: "857b398" upstream: origin: "git@github.com:simonlindholm/asm-differ.git" branch: "main" commit: "857b398" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * Change defines to match IDO * review * newlin * update gitignore * Windows error * D_01000000 * yeet settings.json * yeet * git subrepo clone git@github.com:decompals/ultralib.git lib/ultralib subrepo: subdir: "lib/ultralib" merged: "d03b2a3" upstream: origin: "git@github.com:decompals/ultralib.git" branch: "main" commit: "d03b2a3" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * clangformat and clangtidy * Setup a bunch of headers * bootstrap boot and code functions and variables headers * global.h * update format.py includes * -D_MIPS_SZLONG=32 * format.py: --verbose * Update tools/decompress_baserom.py Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Add libc to global.h * review * yeet saved_regs * yeet headers * yeet _MSC_VER * more header cleanup * add readme licensing note --------- Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
75 lines
2.0 KiB
Makefile
75 lines
2.0 KiB
Makefile
DEBUG ?= 0
|
|
LLD ?= 0
|
|
ASAN ?= 0
|
|
EXPERIMENTAL?= 0
|
|
|
|
ELF := fado.elf
|
|
|
|
CC := $(shell ./find_program.sh gcc clang clang-[0-9][0-9] clang-[0-9])
|
|
LD := $(shell ./find_program.sh ld ld.lld ld.lld-*)
|
|
INC := -I include -I lib
|
|
WARNINGS := -Wall -Wextra -Wpedantic -Wshadow -Werror=implicit-function-declaration -Wvla -Wno-unused-function
|
|
CFLAGS := -std=c11
|
|
LDFLAGS :=
|
|
|
|
ifeq ($(DEBUG),0)
|
|
OPTFLAGS := -O2
|
|
CFLAGS += -Werror
|
|
else
|
|
OPTFLAGS := -O0 -g3 -DDEBUG_ON
|
|
endif
|
|
|
|
ifneq ($(ASAN),0)
|
|
CFLAGS += -fsanitize=address -fsanitize=pointer-compare -fsanitize=pointer-subtract -fsanitize=undefined
|
|
endif
|
|
|
|
ifneq ($(LLD),0)
|
|
LDFLAGS += -fuse-ld=lld
|
|
else
|
|
ifneq ($(LD),ld)
|
|
LDFLAGS += -fuse-ld=lld
|
|
endif
|
|
endif
|
|
|
|
ifneq ($(EXPERIMENTAL),0)
|
|
CFLAGS += -DEXPERIMENTAL
|
|
endif
|
|
|
|
# GCC is too stupid to be trusted with these warnings
|
|
ifeq ($(CC),gcc)
|
|
WARNINGS += -Wno-implicit-fallthrough -Wno-maybe-uninitialized
|
|
endif
|
|
|
|
SRC_DIRS := $(shell find src -type d)
|
|
C_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.c))
|
|
H_FILES := $(foreach dir,$(INC),$(wildcard $(dir)/*.h))
|
|
O_FILES := $(foreach f,$(C_FILES:.c=.o),build/$f)
|
|
|
|
LIB_DIRS := $(shell find lib -type d)
|
|
# exclude test file since we don't want it
|
|
C_LIB_FILES := $(filter-out lib/vc_vector/vc_vector_test.c, $(foreach dir,$(LIB_DIRS),$(wildcard $(dir)/*.c)))
|
|
O_LIB_FILES := $(foreach f,$(C_LIB_FILES:.c=.o),build/$f)
|
|
|
|
# Main targets
|
|
all: $(ELF)
|
|
|
|
clean:
|
|
$(RM) -r build $(ELF)
|
|
|
|
format:
|
|
clang-format-11 -i $(C_FILES) $(H_FILES) lib/fairy/*
|
|
|
|
.PHONY: all clean format
|
|
|
|
# create build directories
|
|
$(shell mkdir -p $(foreach dir,$(SRC_DIRS),build/$(dir)) $(foreach dir,$(LIB_DIRS),build/$(dir)))
|
|
|
|
$(ELF): $(O_FILES) $(O_LIB_FILES)
|
|
$(CC) $(INC) $(WARNINGS) $(CFLAGS) $(OPTFLAGS) $(LDFLAGS) -o $@ $^
|
|
|
|
build/%.o: %.c $(H_FILES)
|
|
$(CC) -c $(INC) $(WARNINGS) $(CFLAGS) $(OPTFLAGS) -o $@ $<
|
|
|
|
build/lib/%.o: lib/%.c
|
|
$(CC) -c $(INC) $(WARNINGS) $(CFLAGS) $(OPTFLAGS) -o $@ $<
|