Makefile (1006B)
1 .POSIX: 2 3 PREFIX = /usr/local 4 MANPREFIX = $(PREFIX)/share/man 5 6 CFLAGS = -O2 -Icompat -D_BSD_SOURCE 7 LDFLAGS = -s -static 8 9 SRC = doas.c env.c persist.c y.tab.c\ 10 compat/readpassphrase.c\ 11 compat/reallocarray.c\ 12 compat/setprogname.c\ 13 compat/strtonum.c 14 OBJ = $(SRC:.c=.o) 15 16 all: doas 17 18 .c.o: 19 $(CC) $(CFLAGS) -o $@ -c $< 20 21 y.tab.c: 22 yacc parse.y 23 24 clean: 25 rm -f *.o compat/*.o doas y.tab.c 26 27 doas: $(OBJ) 28 $(CC) -o $@ $(OBJ) $(LDFLAGS) 29 30 install: doas 31 mkdir -p $(DESTDIR)$(PREFIX)/bin 32 cp -f doas $(DESTDIR)$(PREFIX)/bin 33 chmod 4555 $(DESTDIR)$(PREFIX)/bin/doas 34 mkdir -p $(DESTDIR)$(MANPREFIX)/man1 35 cp doas.1 $(DESTDIR)$(MANPREFIX)/man1/ 36 chmod 644 $(DESTDIR)$(MANPREFIX)/man1/doas.1 37 mkdir -p $(DESTDIR)$(MANPREFIX)/man5 38 cp doas.conf.5 $(DESTDIR)$(MANPREFIX)/man5/ 39 chmod 644 $(DESTDIR)$(MANPREFIX)/man5/doas.conf.5 40 41 uninstall: 42 rm -f $(DESTDIR)$(PREFIX)/bin/doas 43 rm -f $(DESTDIR)$(MANPREFIX)/man1/doas.1 44 rm -f $(DESTDIR)$(MANPREFIX)/man5/doas.conf.5 45 46 .PHONY: all clean install uninstall