mirror of
https://github.com/zeldaret/oot.git
synced 2024-12-01 15:26:01 +00:00
916efa0f7d
* Use clang when possible for tools * Add LLD ?= 0
42 lines
865 B
Makefile
42 lines
865 B
Makefile
CFLAGS := -Wall -Wextra -pedantic -std=c99 -g -O2
|
|
PROGRAMS := yaz0 makeromfs elf2rom mkldscript vtxdis
|
|
|
|
ifeq ($(shell command -v clang >/dev/null 2>&1; echo $$?),0)
|
|
CC := clang
|
|
else
|
|
CC := gcc
|
|
endif
|
|
|
|
LLD ?= 0
|
|
|
|
ifeq ($(shell command -v ld.lld >/dev/null 2>&1; echo $$?),0)
|
|
LLD := 1
|
|
endif
|
|
|
|
ifneq ($(LLD),0)
|
|
CFLAGS += -fuse-ld=lld
|
|
endif
|
|
|
|
all: $(PROGRAMS)
|
|
cd ZAPD && $(MAKE)
|
|
|
|
clean:
|
|
$(RM) $(PROGRAMS) $(addsuffix .exe,$(PROGRAMS))
|
|
$(MAKE) -C ZAPD clean
|
|
|
|
distclean: clean
|
|
|
|
.PHONY: all clean distclean
|
|
|
|
mkldscript_SOURCES := mkldscript.c util.c
|
|
elf2rom_SOURCES := elf2rom.c elf32.c n64chksum.c util.c
|
|
yaz0_SOURCES := yaz0tool.c yaz0.c util.c
|
|
makeromfs_SOURCES := makeromfs.c n64chksum.c util.c
|
|
vtxdis_SOURCES := vtxdis.c
|
|
|
|
define COMPILE =
|
|
$(1): $($1_SOURCES)
|
|
$(CC) $(CFLAGS) $$^ -o $$@
|
|
endef
|
|
|
|
$(foreach p,$(PROGRAMS),$(eval $(call COMPILE,$(p))))
|