musique/Makefile

60 lines
1.5 KiB
Makefile
Raw Normal View History

include config.mk
2022-05-23 17:27:06 +02:00
Sources := $(shell find musique/ -name '*.cc')
Obj := $(subst musique/,,$(Sources:%.cc=%.o))
2022-04-24 16:09:55 +02:00
2022-10-14 16:43:13 +02:00
ifeq ($(os),windows)
all: bin/musique.exe
debug: bin/windows/debug/musique.exe
else
all: bin/musique
2022-10-14 16:43:13 +02:00
debug: bin/$(os)/debug/musique
endif
2022-04-24 15:27:09 +02:00
include scripts/$(os).mk
2022-10-14 16:43:13 +02:00
include scripts/build.mk
include scripts/test.mk
2022-04-24 16:09:55 +02:00
2022-10-14 16:43:13 +02:00
bin/$(Target): bin/$(os)/$(Target)
ln -f $< $@
# http://www.music.mcgill.ca/~gary/rtmidi/#compiling
bin/$(os)/rtmidi.o: lib/rtmidi/RtMidi.cpp lib/rtmidi/RtMidi.h
@echo "CXX $@"
@$(CXX) $< -c -O2 -o $@ $(CPPFLAGS) -std=c++20
doc: Doxyfile musique/*.cc musique/*.hh
doxygen
2022-05-02 22:09:11 +02:00
2022-05-10 15:25:17 +02:00
doc-open: doc
xdg-open ./doc/build/html/index.html
2022-04-24 15:27:09 +02:00
clean:
2022-05-02 22:12:29 +02:00
rm -rf bin coverage
2022-04-24 15:27:09 +02:00
release: bin/musique
scripts/release
2022-09-18 19:15:38 +02:00
install: bin/musique
scripts/install
doc/musique-vs-languages-cheatsheet.html: doc/musique-vs-languages-cheatsheet.template
scripts/language-cmp-cheatsheet.py $<
2022-11-12 01:25:16 +01:00
doc/wprowadzenie.html: doc/wprowadzenie.md
pandoc -o $@ $< -s --toc
doc/functions.html: musique/interpreter/builtin_functions.cc scripts/document-builtin.py
scripts/document-builtin.py -o $@ $<
musique.zip: doc/* $(Sources) scripts/*
docker build -t musique-builder .
docker create --name musique musique-builder
docker cp musique:/musique.zip musique.zip
docker rm -f musique
2022-09-18 19:15:38 +02:00
.PHONY: clean doc doc-open all test unit-tests release install
2022-04-24 15:27:09 +02:00
$(shell mkdir -p $(subst musique/,bin/$(os)/,$(shell find musique/* -type d)))
$(shell mkdir -p $(subst musique/,bin/$(os)/debug/,$(shell find musique/* -type d)))