1CFLAGS ?= -Wall -W -O2
2LDFLAGS ?= -s
3
4CC ?= gcc
5INSTALL ?= install
6INSTALL_DATA ?= $(INSTALL) -m 444
7INSTALL_PROGRAM ?= $(INSTALL) -m 555
8
9prefix = ${PREFIX}
10exec_prefix = $(prefix)
11bindir = $(exec_prefix)/bin
12mandir = $(prefix)/man
13man1dir = $(mandir)/man1
14manext = .1
15
16BIN = base91
17
18.PHONY: all install check clean
19
20all: $(BIN)
21
22%.o: %.c
23	$(CC) $(CFLAGS) -c $<
24
25base91: cli.o base91.o
26	$(CC) $(LDFLAGS) -o $@ cli.o base91.o
27
28install: all
29	mkdir -p $(DESTDIR)$(bindir)
30	$(INSTALL_PROGRAM) base91 $(DESTDIR)$(bindir)/base91
31	ln -sf base91 $(DESTDIR)$(bindir)/b91dec
32	ln -sf base91 $(DESTDIR)$(bindir)/b91enc
33	mkdir -p $(DESTDIR)$(man1dir)
34	$(INSTALL_DATA) base91.1 $(DESTDIR)$(man1dir)/base91$(manext)
35	ln -sf base91$(manext) $(DESTDIR)$(man1dir)/b91dec$(manext)
36	ln -sf base91$(manext) $(DESTDIR)$(man1dir)/b91enc$(manext)
37
38check: all
39	cd test && $(MAKE)
40
41clean:
42	-rm -f *.o $(BIN) core
43	cd test && $(MAKE) clean
44