diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..5f403ac --- /dev/null +++ b/Makefile @@ -0,0 +1,36 @@ +.PHONY: all clean run sanitize +BACKENDS = artnet.so midi.so osc.so loopback.so evdev.so sacn.so +OBJS = config.o backend.o plugin.o +PLUGINDIR = "\"./\"" + +CFLAGS ?= -g -Wall +#CFLAGS += -DDEBUG +%.so: CFLAGS += -fPIC +%.so: LDFLAGS += -shared + +midimonster: LDLIBS = -ldl +midimonster: CFLAGS += -DPLUGINS=$(PLUGINDIR) +midimonster: LDFLAGS += -Wl,-export-dynamic +midi.so: LDLIBS = -lasound +evdev.so: CFLAGS += $(shell pkg-config --cflags libevdev) +evdev.so: LDLIBS = $(shell pkg-config --libs libevdev) + + +%.so :: %.c %.h + $(CC) $(CFLAGS) $(LDLIBS) $< -o $@ $(LDFLAGS) + +all: midimonster $(BACKENDS) + +midimonster: midimonster.c $(OBJS) + +clean: + $(RM) midimonster + $(RM) $(OBJS) + $(RM) $(BACKENDS) + +run: + valgrind --leak-check=full --show-leak-kinds=all ./midimonster + +sanitize: CC = clang +sanitize: CFLAGS = -g -Wall -Wpedantic -fsanitize=address -fsanitize=undefined -fno-omit-frame-pointer +sanitize: midimonster $(BACKENDS) |