mirror of
https://github.com/zeldaret/oot.git
synced 2024-11-15 06:06:04 +00:00
47 lines
1.1 KiB
Makefile
47 lines
1.1 KiB
Makefile
PROGRAMS := atblgen sbc
|
|
|
|
ifeq ($(shell which xml2-config),)
|
|
$(error xml2-config not found. Did you install libxml2-dev?)
|
|
endif
|
|
|
|
CLANG_FORMAT := clang-format-14
|
|
FORMAT_ARGS := -i -style=file
|
|
|
|
CC := gcc
|
|
CFLAGS := -Wall -Wextra -pedantic
|
|
OPTFLAGS := -Og -g3
|
|
|
|
XML_CFLAGS := $(shell xml2-config --cflags)
|
|
XML_LDFLAGS := $(shell xml2-config --libs)
|
|
|
|
.PHONY: all clean distclean format
|
|
|
|
all: $(PROGRAMS)
|
|
$(MAKE) -C sampleconv
|
|
|
|
clean:
|
|
$(RM) $(PROGRAMS)
|
|
$(MAKE) -C sampleconv clean
|
|
|
|
distclean: clean
|
|
$(MAKE) -C sampleconv distclean
|
|
|
|
format:
|
|
$(CLANG_FORMAT) $(FORMAT_ARGS) $(shell find . -maxdepth 1 -type f -name "*.[ch]")
|
|
$(MAKE) -C sampleconv format
|
|
|
|
atblgen_SOURCES := audio_tablegen.c samplebank.c xml.c util.c
|
|
sbc_SOURCES := samplebank_compiler.c samplebank.c aifc.c xml.c util.c
|
|
|
|
atblgen_CFLAGS := $(XML_CFLAGS)
|
|
sbc_CFLAGS := $(XML_CFLAGS)
|
|
|
|
atblgen_LDFLAGS := $(XML_LDFLAGS)
|
|
sbc_LDFLAGS := $(XML_LDFLAGS)
|
|
|
|
define COMPILE =
|
|
$(1): $($1_SOURCES)
|
|
$(CC) $(CFLAGS) $($1_CFLAGS) $$^ $($1_LDFLAGS) -o $$@
|
|
endef
|
|
|
|
$(foreach p,$(PROGRAMS),$(eval $(call COMPILE,$(p))))
|