37 lines
734 B
Makefile
37 lines
734 B
Makefile
|
|
NASM ?= nasm
|
|
NASMFLAGS := -DLINUX -felf32 -I obj/ -I oidos/player/
|
|
|
|
default: all
|
|
|
|
%/:
|
|
mkdir -p "$@"
|
|
|
|
obj/%.xrns.asm: mus/%.xrns obj/
|
|
oidos/convert/oidosconvert.py "$<" "$@"
|
|
|
|
obj/play.o: oidos/player/play.c obj/
|
|
$(CC) -m32 -c -o "$@" "$<"
|
|
|
|
obj/random.o: oidos/player/random.asm obj/
|
|
$(NASM) $(NASMFLAGS) -o "$@" "$<"
|
|
|
|
obj/%.xrns.o: obj/%.xrns.asm oidos/player/oidos.asm
|
|
cp "$<" "obj/music.asm"
|
|
$(NASM) $(NASMFLAGS) -o "$@" oidos/player/oidos.asm
|
|
$(RM) "obj/music.asm"
|
|
|
|
bin/play-%: obj/play.o obj/random.o obj/%.xrns.o bin/
|
|
$(CC) -m32 -o "$@" $(filter-out bin/,$^)
|
|
|
|
INFILES := $(wildcard mus/*.xrns)
|
|
OUTFILES := $(patsubst mus/%.xrns,bin/play-%,$(INFILES))
|
|
|
|
all: $(OUTFILES)
|
|
|
|
clean:
|
|
$(RM) -rv obj/
|
|
|
|
.PHONY: default all clean
|
|
|