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