-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathMakefile
More file actions
84 lines (63 loc) · 2.11 KB
/
Makefile
File metadata and controls
84 lines (63 loc) · 2.11 KB
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#!/usr/bin/make -f
include dist/shared.mk
override CFLAGS += -I./misc
# misc targets
ifdef obj
default: $(addprefix $(OBJ)/,$(subst $(comma),$(space),$(obj)))
else
CURRENT_BINS := $(wildcard $(OBJ)/*)
ifneq ($(CURRENT_BINS),)
default: $(CURRENT_BINS)
else
default: basic
endif
endif
$(dummy): $(OBJ)/config.h
$(dummy): $(OBJ)/config-krb5.h
$(verbose_hide) touch $@
# compile targets
BASIC_BINS := args gettime mkpasswd natsort pause silentcat spawn unescape
KRB_BINS := k5userok pklist
MISC_BINS := libwcwidth.so logwipe writevt zlib
.PHONY: all basic krb misc pklist
basic: $(addprefix $(OBJ)/,$(BASIC_BINS))
krb: $(addprefix $(OBJ)/,$(KRB_BINS))
misc: $(addprefix $(OBJ)/,$(MISC_BINS))
all: basic krb misc
pklist: $(OBJ)/pklist
emergency-sulogin: $(OBJ)/emergency-sulogin
sudo install -o 'root' -g 'wheel' -m 'u=rxs,g=rx,o=' $< /usr/bin/$@
# libraries
$(OBJ)/libfunlink.so: CFLAGS += -shared -fPIC
$(OBJ)/libfunlink.so: LDLIBS += $(DL_LDLIBS)
$(OBJ)/libfunlink.so: system/libfunlink.c
$(OBJ)/libfunsync.so: CFLAGS += -shared
$(OBJ)/libfunsync.so: system/libfunsync.c
$(OBJ)/libwcwidth.so: CFLAGS += -shared -fPIC \
-Dmk_wcwidth=wcwidth -Dmk_wcswidth=wcswidth
$(OBJ)/libwcwidth.so: thirdparty/wcwidth.c
# objects
$(OBJ)/misc_util.o: misc/util.c misc/util.h
$(OBJ)/strnatcmp.o: thirdparty/strnatcmp.c
# executables
$(OBJ)/args: misc/args.c
$(OBJ)/gettime: LDLIBS += -lrt
$(OBJ)/gettime: misc/gettime.c
$(OBJ)/codeset: misc/codeset.c
$(OBJ)/k5userok: LDLIBS += $(KRB_LDLIBS)
$(OBJ)/k5userok: kerberos/k5userok.c
$(OBJ)/logwipe: thirdparty/logwipe.c
$(OBJ)/mkpasswd: LDLIBS += $(CRYPT_LDLIBS)
$(OBJ)/mkpasswd: security/mkpasswd.c
$(OBJ)/natsort: thirdparty/natsort.c $(OBJ)/strnatcmp.o
$(OBJ)/pklist: LDLIBS += $(KRB_LDLIBS)
$(OBJ)/pklist: kerberos/pklist.c
$(OBJ)/pause: system/pause.c
$(OBJ)/silentcat: misc/silentcat.c
$(OBJ)/spawn: system/spawn.c $(OBJ)/misc_util.o
$(OBJ)/unescape: misc/unescape.c
$(OBJ)/writevt: thirdparty/writevt.c
$(OBJ)/zlib: LDLIBS += -lz
$(OBJ)/zlib: thirdparty/zpipe.c
$(OBJ)/emergency-sulogin: LDLIBS += $(CRYPT_LDLIBS) -static
$(OBJ)/emergency-sulogin: security/emergency-sulogin.c