Makefile (1065B)
1 # hfc - hosts file client 2 # See LICENSE file for copyright and license details. 3 4 CC = gcc 5 CFLAGS = -Wall -Wextra -std=c11 -D_POSIX_C_SOURCE=200809L 6 LDFLAGS = -lcurl -lncurses 7 8 PREFIX = /usr/local 9 MANPREFIX = ${PREFIX}/share/man 10 VERSION = 0.1 11 12 SRCS = hfc.c get.c update.c config.c 13 OBJS = hfc.o get.o update.o config.o 14 TARGET = hfc 15 16 all: prepare $(TARGET) 17 prepare: 18 mkdir -p $(HOME)/.config/hfc 19 mkdir -p $(HOME)/.local/state/hfc 20 touch $(HOME)/.config/hfc/urls 21 touch $(HOME)/.config/hfc/conf 22 touch $(HOME)/.local/state/hfc/counts 23 24 $(TARGET): $(OBJS) 25 $(CC) $(OBJS) -o $(TARGET) $(LDFLAGS) 26 27 %.o: %.c 28 $(CC) $(CFLAGS) -c $< -o $@ 29 30 install: 31 mkdir -p ${DESTDIR}${PREFIX}/bin 32 install -Dm755 ./$(TARGET) ${DESTDIR}${PREFIX}/bin/$(TARGET) 33 mkdir -p ${DESTDIR}${MANPREFIX}/man1 34 sed "s/VERSION/${VERSION}/g" < hfc.1 > ${DESTDIR}${MANPREFIX}/man1/hfc.1 35 chmod 644 ${DESTDIR}${MANPREFIX}/man1/hfc.1 36 37 uninstall: 38 rm -f ${DESTDIR}${PREFIX}/bin/$(TARGET) 39 rm -f ${DESTDIR}${MANPREFIX}/man1/hfc.1 40 41 clean: 42 rm -f $(OBJS) $(TARGET) 43 44 .PHONY: all clean install uninstall prepare 45