doas

https://man.openbsd.org/doas.1
git clone anongit@rnpnr.xyz:doas.git
Log | Files | Refs | Feed

Makefile (1082B)


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