aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile35
1 files changed, 35 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..799b1c1
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,35 @@
+CC ?= gcc
+CFLAGS ?= -Wall -Wextra -O2 -std=c99 -D_POSIX_C_SOURCE=200809L
+LDFLAGS ?=
+PREFIX ?= /usr/local
+
+TARGET = pms
+SRCS = src/pms_main.c src/pms_ref.c src/pms_match.c src/pms_render.c src/pms_util.c src/pms_data.c
+OBJS = $(SRCS:.c=.o)
+
+.PHONY: all clean extract install uninstall
+
+all: $(TARGET)
+
+$(TARGET): $(OBJS)
+ $(CC) $(CFLAGS) -o $@ $(OBJS) $(LDFLAGS)
+
+src/pms_data.c: data/pms.tsv data/pms_notes.tsv scripts/generate_c_data.py
+ python3 scripts/generate_c_data.py
+
+src/%.o: src/%.c src/pms_data.h src/pms_config.h src/pms_ref.h src/pms_match.h src/pms_render.h src/pms_util.h
+ $(CC) $(CFLAGS) -c -o $@ $<
+
+extract:
+ python3 scripts/extract_pms.py
+ python3 scripts/generate_c_data.py
+
+install: $(TARGET)
+ install -d $(DESTDIR)$(PREFIX)/bin
+ install -m 755 $(TARGET) $(DESTDIR)$(PREFIX)/bin/$(TARGET)
+
+uninstall:
+ rm -f $(DESTDIR)$(PREFIX)/bin/$(TARGET)
+
+clean:
+ rm -f $(TARGET) src/*.o src/pms_data.c