1229675Sadrian#$FreeBSD$
2229675Sadrian#	@(#)Makefile	8.1 (Berkeley) 6/2/93
3229675Sadrian
4276486SngieMAN=
5229675Sadrian
6229675Sadrian.include <bsd.own.mk>
7229675SadrianMK_SSP=	no
8229675Sadrian
9229675SadrianPROG=	bsdbox
10229675SadrianBINDIR?=/sbin
11229675Sadrian
12229675Sadrian#################################################################
13229675Sadrian#
14229675Sadrian# General notes:
15229675Sadrian#
16229675Sadrian# A number of Make variables are used to generate the crunchgen config file.
17229675Sadrian#
18229675Sadrian#  CRUNCH_SRCDIRS: lists directories to search for included programs
19229675Sadrian#  CRUNCH_PROGS:  lists programs to be included
20229675Sadrian#  CRUNCH_LIBS:  libraries to statically link with
21229675Sadrian#  CRUNCH_SHLIBS:  libraries to dynamically link with
22229675Sadrian#  CRUNCH_BUILDOPTS: generic build options to be added to every program
23229675Sadrian#  CRUNCH_BUILDTOOLS: lists programs that need build tools built in the
24229675Sadrian#	local architecture.
25229675Sadrian#
26229675Sadrian# Special options can be specified for individual programs
27229675Sadrian#  CRUNCH_SRCDIR_$(P): base source directory for program $(P)
28229675Sadrian#  CRUNCH_BUILDOPTS_$(P): additional build options for $(P)
29229675Sadrian#  CRUNCH_ALIAS_$(P): additional names to be used for $(P)
30229675Sadrian#
31229675Sadrian# By default, any name appearing in CRUNCH_PROGS or CRUNCH_ALIAS_${P}
32229675Sadrian# will be used to generate a hard link to the resulting binary.
33229675Sadrian# Specific links can be suppressed by setting
34229675Sadrian# CRUNCH_SUPPRESS_LINK_$(NAME) to 1.
35229675Sadrian#
36229675Sadrian
37229675Sadrian# Define Makefile variable RESCUE
38229675SadrianCRUNCH_BUILDOPTS+= -DRESCUE
39229675Sadrian
40229675Sadrian# Don't do symlinks as part of the install
41229675SadrianCRUNCH_GENERATE_LINKS= no
42229675Sadrian
43229675Sadrian# Which sources have local-arch build tools?
44229675Sadrian# Define as blank; othrs need to override
45229675SadrianCRUNCH_BUILDTOOLS=
46229675Sadrian
47229675Sadrian###################################################################
48229675Sadrian# Programs from stock /bin
49229675Sadrian#
50229675Sadrian# WARNING: Changing this list may require adjusting
51229675Sadrian# /usr/include/paths.h as well!  You were warned!
52229675Sadrian#
53229675SadrianCRUNCH_SRCDIRS+= bin
54229675Sadrian# These are required to be shared so login and su can run as
55229675Sadrian# setuid binaries - they use these libraries. PAM needs to be
56229675Sadrian# built dynamically or it tries to build _all_ of the modules
57229675Sadrian# statically - and that ends very badly.
58239885SadrianCRUNCH_SHLIBS+=	-lc -lutil -lcrypt
59229675SadrianCRUNCH_LIBS+= -lkvm -lmemstat -lnetgraph
60229675SadrianCRUNCH_LIBS+= -lcrypt -ledit -ll -ltermcap
61229675Sadrian
62229675Sadrian###################################################################
63229675Sadrian# Programs from standard /sbin
64229675Sadrian#
65229675Sadrian# WARNING: Changing this list may require adjusting
66229675Sadrian# /usr/include/paths.h as well!  You were warned!
67229675Sadrian#
68229675Sadrian# Note that mdmfs have their own private 'pathnames.h'
69229675Sadrian# headers in addition to the standard 'paths.h' header.
70229675Sadrian#
71229675SadrianCRUNCH_SRCDIRS+= sbin
72229675Sadrian
73229675SadrianCRUNCH_LIBS+= -lalias -lcam -lcurses -ldevstat -lipsec
74229675Sadrian# Don't forget this - ifconfig, etc -adrian
75229675Sadrian.if ${MK_IPX} != "no"
76229675SadrianCRUNCH_LIBS+= -lipx
77229675Sadrian.endif
78229675SadrianCRUNCH_LIBS+= -lgeom -lbsdxml -ljail -lkiconv -lmd -lsbuf -lufs
79229675Sadrian
80229675Sadrian##################################################################
81229675Sadrian# Programs from stock /usr/bin
82229675Sadrian#
83229675SadrianCRUNCH_SRCDIRS+= usr.bin
84229675Sadrian# grep
85229675SadrianCRUNCH_LIBS+=	-lbz2
86229675Sadrian
87229675Sadrian##################################################################
88229675Sadrian# Programs from stock /usr/sbin
89229675Sadrian#
90229675SadrianCRUNCH_SRCDIRS+= usr.sbin
91229675Sadrian
92229675Sadrian##################################################################
93229675Sadrian
94229675SadrianCRUNCH_SRCDIRS+= libexec
95229675Sadrian
96229675SadrianCRUNCH_LIBS+= -lm
97229675Sadrian
98229675Sadrian.include "Makefile.base"
99229675Sadrian.include "Makefile.net"
100229675Sadrian.include "Makefile.hostapd"
101239885Sadrian#.include "Makefile.textproc"
102229675Sadrian.include "Makefile.login"
103229675Sadrian.include "Makefile.kld"
104229675Sadrian# telnet/telnetd are too broken to include as a crunchgen'ed binary,
105229675Sadrian# thanks to some of the horrible layering violations going on.
106229675Sadrian# .include "Makefile.telnetd"
107229675Sadrian.include "Makefile.fs"
108229675Sadrian
109229675SadrianCRUNCH_LIBS+= -lcrypto -lssl -lz
110229675Sadrian
111229675Sadrian# the crunchgen build environment
112229675Sadrian.include <bsd.crunchgen.mk>
113229675Sadrian
114229675Sadrian# and since it creates a program..
115229675Sadrian.include <bsd.prog.mk>
116