aboutsummaryrefslogtreecommitdiff
path: root/Makefile
blob: 799b1c1b63f48d2b215cf469722df1dbe7665adc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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