2016-06-22 15:21:34 +00:00
|
|
|
CC?=clang
|
2016-06-24 11:38:10 +00:00
|
|
|
YACC?=yacc
|
2016-06-22 15:21:34 +00:00
|
|
|
BIN=doas
|
|
|
|
PREFIX?=/usr/local
|
2016-06-24 11:29:08 +00:00
|
|
|
OBJECTS=doas.o env.o execvpe.o reallocarray.o y.tab.o
|
2019-03-10 22:11:40 +00:00
|
|
|
CFLAGS+=-DUSE_PAM -DDOAS_CONF=\"${PREFIX}/etc/doas.conf\"
|
2016-06-24 11:38:10 +00:00
|
|
|
LDFLAGS+=-lpam
|
2016-06-26 17:34:33 +00:00
|
|
|
UNAME_S := $(shell uname -s)
|
|
|
|
ifeq ($(UNAME_S),Linux)
|
|
|
|
LDFLAGS+=-lpam_misc
|
2017-09-06 00:40:47 +00:00
|
|
|
OBJECTS+=strlcat.o strlcpy.o
|
2019-03-10 22:11:40 +00:00
|
|
|
CFLAGS+=-D_GNU_SOURCE
|
2016-06-26 17:34:33 +00:00
|
|
|
endif
|
2016-09-17 00:15:40 +00:00
|
|
|
ifeq ($(UNAME_S),FreeBSD)
|
|
|
|
CFLAGS+=-DHAVE_LOGIN_CAP_H
|
|
|
|
LDFLAGS+=-lutil
|
|
|
|
endif
|
2016-06-22 15:21:34 +00:00
|
|
|
|
|
|
|
all: $(OBJECTS)
|
2016-11-03 20:28:20 +00:00
|
|
|
$(CC) -o $(BIN) $(OBJECTS) $(LDFLAGS)
|
2016-06-22 15:21:34 +00:00
|
|
|
|
2016-06-24 11:38:10 +00:00
|
|
|
env.o: doas.h env.c
|
2016-06-22 15:21:34 +00:00
|
|
|
|
|
|
|
execvpe.o: doas.h execvpe.c
|
|
|
|
|
|
|
|
doas.o: doas.h doas.c parse.y
|
|
|
|
|
2016-06-24 13:06:43 +00:00
|
|
|
reallocarray.o: doas.h reallocarray.c
|
|
|
|
|
2016-06-22 15:21:34 +00:00
|
|
|
y.tab.o: parse.y
|
2016-06-24 11:38:10 +00:00
|
|
|
$(YACC) parse.y
|
|
|
|
$(CC) $(CFLAGS) -c y.tab.c
|
2016-06-22 15:21:34 +00:00
|
|
|
|
|
|
|
install: all
|
|
|
|
cp $(BIN) $(PREFIX)/bin/
|
|
|
|
chmod 4755 $(PREFIX)/bin/$(BIN)
|
2016-06-26 14:41:31 +00:00
|
|
|
mkdir -p $(PREFIX)/man/man1
|
2016-06-22 15:21:34 +00:00
|
|
|
cp doas.1 $(PREFIX)/man/man1/
|
2016-06-26 14:41:31 +00:00
|
|
|
mkdir -p $(PREFIX)/man/man5
|
2016-06-22 15:21:34 +00:00
|
|
|
cp doas.conf.5 $(PREFIX)/man/man5/
|
|
|
|
|
|
|
|
clean:
|
|
|
|
rm -f $(BIN) $(OBJECTS) y.tab.c
|
|
|
|
|