aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
blob: 49416f8d36d6a62bda1988bd4b35315e5d78a31d (plain) (blame)
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
37
38
39
40
41
42
43
44
45
#	$NetBSD: Makefile,v 1.22 2023/06/03 09:09:09 lukem Exp $
#	@(#)Makefile	8.1 (Berkeley) 5/31/93

.POSIX:

PROG = rogue
PREFIX = /usr/local
BIN_DIR = $(PREFIX)/bin
MAN_DIR = $(PREFIX)/share/man/man6
MAN = rogue.6

CC = cc
CFLAGS = -std=c99 -O2 -Wall -Wextra -Wpedantic
CPPFLAGS = -DUNIX -DUNIX_SYSV -Dlint
LDLIBS = -lcurses

SRCS != find . -name '*.c' -exec basename {} \;
OBJS != echo $(SRCS) | awk '{gsub(/\.c/, ".o"); print}'
HEADERS != find . -name '*.h' -exec basename {} +

$(PROG): $(OBJS)
	cc -o $@ $(LDLIBS) $(OBJS)

$(OBJS): $(HEADERS)

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

.PHONY: install
install: $(PROG)
	chmod 755 $(PROG)
	cp $(PROG) $(BIN_DIR)
	mkdir -p $(MAN_DIR)
	cp $(MAN) $(MAN_DIR)

.PHONY: uninstall
uninstall:
	rm $(BIN_DIR)/$(PROG)

.PHONY: clean
clean:
	rm -f $(PROG) $(OBJS) tags

tags:
	ctags -d $(SRCS) $(HEADERS)