summaryrefslogtreecommitdiff
path: root/Makefile
blob: 3ceea95e9318433c662bcb9d1b314cc4a5dfe689 (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
36
CC = gcc
CFLAGS = -Wall -Wextra -g
LDFLAGS = -lcunit
PROGRAM = occurrences
TEST_PROGRAM = test_occurrences
MANPAGE = occurrences.1.gz

.PHONY: all test clean install uninstall

all: $(PROGRAM) $(TEST_PROGRAM) $(MANPAGE)

$(PROGRAM): main.o occurrences.o
	$(CC) $(CFLAGS) -o $@ $^

$(TEST_PROGRAM): test_occurrences.o occurrences.o
	$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)

%.o: %.c
	$(CC) $(CFLAGS) -c $<

test: $(TEST_PROGRAM)
	./$(TEST_PROGRAM)

$(MANPAGE): occurrences.1
	gzip -c $< > $@

clean:
	rm -f $(PROGRAM) $(TEST_PROGRAM) $(MANPAGE) *.o

install: all
	install -D -m755 $(PROGRAM) "$(DESTDIR)/usr/local/bin/$(PROGRAM)"
	mkdir /usr/local/share/man/man1 & install -D -m644 $(MANPAGE) "$(DESTDIR)/usr/local/share/man/man1/$(MANPAGE)"

uninstall:
	rm -f "$(DESTDIR)/usr/local/bin/$(PROGRAM)"
	rm -f "$(DESTDIR)/usr/local/share/man/man1/$(MANPAGE)"