aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorLudvig Gunne Lindström <ludviggunnelindstrom@gmail.com>2026-07-17 11:42:57 +0200
committerLudvig Gunne Lindström <ludviggunnelindstrom@gmail.com>2026-11-08 14:07:53 +0100
commit98b3c66ebc79597f5b54fff132eaafbebf581248 (patch)
treef999ec466ae3ac635653d1fe0a6a6dd1a2f2c3b0 /Makefile
downloadmelisma-main.tar.gz
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile39
1 files changed, 39 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..14d96e1
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,39 @@
+VERSION := 0.1.0
+PREFIX ?= $(CURDIR)/out
+DESTDIR ?=
+LUA_PC ?= lua-5.3
+CFLAGS := $(shell pkg-config --cflags $(LUA_PC) jack) -MMD -Iinclude -O3
+LDFLAGS := $(shell pkg-config --libs $(LUA_PC) jack) -rdynamic -flto -ldl -Wl,--version-script=melisma.map
+SOURCES := $(wildcard src/*.c)
+OBJECTS := $(SOURCES:%.c=%.o)
+DEPENDS := $(SOURCES:%.c=%.d)
+
+melisma: $(OBJECTS)
+ @ printf "CCLD\t%s\n" $(@)
+ @ $(CC) -o $(@) $(^) $(LDFLAGS)
+
+-include $(DEPENDS)
+
+.c.o:
+ @ printf "CC\t%s\n" $(@)
+ @ $(CC) -o $(@) -c $(<) $(CFLAGS)
+
+install: melisma
+ bash melisma.h.pc.sh $(PREFIX) $(VERSION) $(LUA_PC) >melisma.h.pc
+ install -Dm755 melisma $(DESTDIR)$(PREFIX)/bin/melisma
+ install -Dm644 include/melisma.h $(DESTDIR)$(PREFIX)/include/melisma.h
+ install -Dm644 -t $(DESTDIR)$(PREFIX)/include/melisma include/melisma/*.h
+ install -Dm644 melisma.h.pc $(DESTDIR)$(PREFIX)/share/pkgconfig/melisma.h.pc
+
+clean:
+ rm -rf src/*.o src/*.d melisma.h.pc melisma
+
+debug: CFLAGS += -Wno-cpp -O0 -g
+debug: melisma
+
+sanitize: CFLAGS += -fsanitize=address
+sanitize: LDFLAGS += -fsanitize=address
+sanitize: debug
+
+
+.PHONY: install clean debug