xref: /freebsd/tools/bsdbox/Makefile (revision 783d3ff6d7fae619db8a7990b8a6387de0c677b5)
1
2MAN=
3
4.include <bsd.own.mk>
5MK_SSP=	no
6
7PROG=	bsdbox
8BINDIR?=/sbin
9
10#################################################################
11#
12# General notes:
13#
14# A number of Make variables are used to generate the crunchgen config file.
15#
16#  CRUNCH_SRCDIRS: lists directories to search for included programs
17#  CRUNCH_PROGS:  lists programs to be included
18#  CRUNCH_LIBS:  libraries to statically link with
19#  CRUNCH_SHLIBS:  libraries to dynamically link with
20#  CRUNCH_BUILDOPTS: generic build options to be added to every program
21#  CRUNCH_BUILDTOOLS: lists programs that need build tools built in the
22#	local architecture.
23#
24# Special options can be specified for individual programs
25#  CRUNCH_SRCDIR_$(P): base source directory for program $(P)
26#  CRUNCH_BUILDOPTS_$(P): additional build options for $(P)
27#  CRUNCH_ALIAS_$(P): additional names to be used for $(P)
28#
29# By default, any name appearing in CRUNCH_PROGS or CRUNCH_ALIAS_${P}
30# will be used to generate a hard link to the resulting binary.
31# Specific links can be suppressed by setting
32# CRUNCH_SUPPRESS_LINK_$(NAME) to 1.
33#
34
35# Define Makefile variable RESCUE
36CRUNCH_BUILDOPTS+= -DRESCUE
37
38# Don't do symlinks as part of the install
39CRUNCH_GENERATE_LINKS= no
40
41# Which sources have local-arch build tools?
42# Define as blank; othrs need to override
43CRUNCH_BUILDTOOLS=
44
45###################################################################
46# Programs from stock /bin
47#
48# WARNING: Changing this list may require adjusting
49# /usr/include/paths.h as well!  You were warned!
50#
51CRUNCH_SRCDIRS+= bin
52# These are required to be shared so login and su can run as
53# setuid binaries - they use these libraries. PAM needs to be
54# built dynamically or it tries to build _all_ of the modules
55# statically - and that ends very badly.
56CRUNCH_SHLIBS+=	-lc -lutil -lcrypt -lxo -lgpio
57CRUNCH_LIBS+= -lkvm -lmemstat -lnetgraph
58CRUNCH_LIBS+= -lcrypt -ledit -ltermcapw
59
60###################################################################
61# Programs from standard /sbin
62#
63# WARNING: Changing this list may require adjusting
64# /usr/include/paths.h as well!  You were warned!
65#
66# Note that mdmfs have their own private 'pathnames.h'
67# headers in addition to the standard 'paths.h' header.
68#
69CRUNCH_SRCDIRS+= sbin
70
71CRUNCH_LIBS+= -l80211 -lalias -lcam -lcursesw -ldevstat -lipsec
72# Don't forget this - ifconfig, etc -adrian
73CRUNCH_LIBS+= ${LDADD_ifconfig}
74CRUNCH_LIBS+= -lgeom -lbsdxml -ljail -lkiconv -lmd -lsbuf -lufs
75CRUNCH_BUILDOPTS+= CRUNCH_CFLAGS+=-I${OBJTOP}/lib/libifconfig
76
77##################################################################
78# Programs from stock /usr/bin
79#
80CRUNCH_SRCDIRS+= usr.bin
81# grep
82CRUNCH_LIBS+=	-lbz2
83
84##################################################################
85# Programs from stock /usr/sbin
86#
87CRUNCH_SRCDIRS+= usr.sbin
88
89##################################################################
90
91CRUNCH_SRCDIRS+= libexec
92
93CRUNCH_LIBS+= -lm
94
95.include "Makefile.base"
96.include "Makefile.net"
97.include "Makefile.hostapd"
98#.include "Makefile.textproc"
99.include "Makefile.login"
100.include "Makefile.kld"
101.include "Makefile.fs"
102
103CRUNCH_LIBS+= -lcrypto -lssl -lz
104
105# the crunchgen build environment
106.include <bsd.crunchgen.mk>
107
108# and since it creates a program..
109.include <bsd.prog.mk>
110