xref: /freebsd/tools/bsdbox/Makefile (revision 25a9b4159e33fb6024a4f832ce7d280481aca6b2)
13bdf7758SWarner LoshMAN=
26b1dcfcdSAdrian Chadd
36b1dcfcdSAdrian Chadd.include <bsd.own.mk>
46b1dcfcdSAdrian ChaddMK_SSP=	no
547404d1dSKyle EvansMK_PIE=	no
66b1dcfcdSAdrian Chadd
76b1dcfcdSAdrian ChaddPROG=	bsdbox
86b1dcfcdSAdrian ChaddBINDIR?=/sbin
96b1dcfcdSAdrian Chadd
106b1dcfcdSAdrian Chadd#################################################################
116b1dcfcdSAdrian Chadd#
126b1dcfcdSAdrian Chadd# General notes:
136b1dcfcdSAdrian Chadd#
146b1dcfcdSAdrian Chadd# A number of Make variables are used to generate the crunchgen config file.
156b1dcfcdSAdrian Chadd#
166b1dcfcdSAdrian Chadd#  CRUNCH_SRCDIRS: lists directories to search for included programs
176b1dcfcdSAdrian Chadd#  CRUNCH_PROGS:  lists programs to be included
186b1dcfcdSAdrian Chadd#  CRUNCH_LIBS:  libraries to statically link with
196b1dcfcdSAdrian Chadd#  CRUNCH_SHLIBS:  libraries to dynamically link with
206b1dcfcdSAdrian Chadd#  CRUNCH_BUILDOPTS: generic build options to be added to every program
216b1dcfcdSAdrian Chadd#  CRUNCH_BUILDTOOLS: lists programs that need build tools built in the
226b1dcfcdSAdrian Chadd#	local architecture.
236b1dcfcdSAdrian Chadd#
246b1dcfcdSAdrian Chadd# Special options can be specified for individual programs
256b1dcfcdSAdrian Chadd#  CRUNCH_SRCDIR_$(P): base source directory for program $(P)
266b1dcfcdSAdrian Chadd#  CRUNCH_BUILDOPTS_$(P): additional build options for $(P)
276b1dcfcdSAdrian Chadd#  CRUNCH_ALIAS_$(P): additional names to be used for $(P)
286b1dcfcdSAdrian Chadd#
296b1dcfcdSAdrian Chadd# By default, any name appearing in CRUNCH_PROGS or CRUNCH_ALIAS_${P}
306b1dcfcdSAdrian Chadd# will be used to generate a hard link to the resulting binary.
316b1dcfcdSAdrian Chadd# Specific links can be suppressed by setting
326b1dcfcdSAdrian Chadd# CRUNCH_SUPPRESS_LINK_$(NAME) to 1.
336b1dcfcdSAdrian Chadd#
346b1dcfcdSAdrian Chadd
356b1dcfcdSAdrian Chadd# Define Makefile variable RESCUE
366b1dcfcdSAdrian ChaddCRUNCH_BUILDOPTS+= -DRESCUE
376b1dcfcdSAdrian Chadd
386b1dcfcdSAdrian Chadd# Don't do symlinks as part of the install
396b1dcfcdSAdrian ChaddCRUNCH_GENERATE_LINKS= no
406b1dcfcdSAdrian Chadd
416b1dcfcdSAdrian Chadd# Which sources have local-arch build tools?
426b1dcfcdSAdrian Chadd# Define as blank; othrs need to override
436b1dcfcdSAdrian ChaddCRUNCH_BUILDTOOLS=
446b1dcfcdSAdrian Chadd
456b1dcfcdSAdrian Chadd###################################################################
466b1dcfcdSAdrian Chadd# Programs from stock /bin
476b1dcfcdSAdrian Chadd#
486b1dcfcdSAdrian Chadd# WARNING: Changing this list may require adjusting
496b1dcfcdSAdrian Chadd# /usr/include/paths.h as well!  You were warned!
506b1dcfcdSAdrian Chadd#
516b1dcfcdSAdrian ChaddCRUNCH_SRCDIRS+= bin
526b1dcfcdSAdrian Chadd# These are required to be shared so login and su can run as
536b1dcfcdSAdrian Chadd# setuid binaries - they use these libraries. PAM needs to be
546b1dcfcdSAdrian Chadd# built dynamically or it tries to build _all_ of the modules
556b1dcfcdSAdrian Chadd# statically - and that ends very badly.
5647404d1dSKyle EvansCRUNCH_SHLIBS+=	-lc -lsys -lutil -lcrypt -lxo -lgpio
576b1dcfcdSAdrian ChaddCRUNCH_LIBS+= -lkvm -lmemstat -lnetgraph
582ce22b06SKyle EvansCRUNCH_LIBS+= -lcrypt -ledit -ltermcapw
596b1dcfcdSAdrian Chadd
606b1dcfcdSAdrian Chadd###################################################################
616b1dcfcdSAdrian Chadd# Programs from standard /sbin
626b1dcfcdSAdrian Chadd#
636b1dcfcdSAdrian Chadd# WARNING: Changing this list may require adjusting
646b1dcfcdSAdrian Chadd# /usr/include/paths.h as well!  You were warned!
656b1dcfcdSAdrian Chadd#
666b1dcfcdSAdrian Chadd# Note that mdmfs have their own private 'pathnames.h'
676b1dcfcdSAdrian Chadd# headers in addition to the standard 'paths.h' header.
686b1dcfcdSAdrian Chadd#
696b1dcfcdSAdrian ChaddCRUNCH_SRCDIRS+= sbin
706b1dcfcdSAdrian Chadd
71066b9ae5SAdrian ChaddCRUNCH_LIBS+= -l80211 -lalias -lcam -lcursesw -ldevstat -lipsec
726b1dcfcdSAdrian Chadd# Don't forget this - ifconfig, etc -adrian
7347404d1dSKyle EvansCRUNCH_LIBS+= ${OBJTOP}/lib/libifconfig/libifconfig.a
746b1dcfcdSAdrian ChaddCRUNCH_LIBS+= -lgeom -lbsdxml -ljail -lkiconv -lmd -lsbuf -lufs
757b3286c1SKyle EvansCRUNCH_BUILDOPTS+= CRUNCH_CFLAGS+=-I${OBJTOP}/lib/libifconfig
766b1dcfcdSAdrian Chadd
776b1dcfcdSAdrian Chadd##################################################################
786b1dcfcdSAdrian Chadd# Programs from stock /usr/bin
796b1dcfcdSAdrian Chadd#
806b1dcfcdSAdrian ChaddCRUNCH_SRCDIRS+= usr.bin
816b1dcfcdSAdrian Chadd# grep
826b1dcfcdSAdrian ChaddCRUNCH_LIBS+=	-lbz2
836b1dcfcdSAdrian Chadd
846b1dcfcdSAdrian Chadd##################################################################
856b1dcfcdSAdrian Chadd# Programs from stock /usr/sbin
866b1dcfcdSAdrian Chadd#
876b1dcfcdSAdrian ChaddCRUNCH_SRCDIRS+= usr.sbin
886b1dcfcdSAdrian Chadd
896b1dcfcdSAdrian Chadd##################################################################
906b1dcfcdSAdrian Chadd
916b1dcfcdSAdrian ChaddCRUNCH_SRCDIRS+= libexec
926b1dcfcdSAdrian Chadd
936b1dcfcdSAdrian ChaddCRUNCH_LIBS+= -lm
946b1dcfcdSAdrian Chadd
956b1dcfcdSAdrian Chadd.include "Makefile.base"
966b1dcfcdSAdrian Chadd.include "Makefile.net"
97*25a9b415SKyle Evans.include "Makefile.hostapd"
98e44d68c8SAdrian Chadd#.include "Makefile.textproc"
996b1dcfcdSAdrian Chadd.include "Makefile.login"
1006b1dcfcdSAdrian Chadd.include "Makefile.kld"
1016b1dcfcdSAdrian Chadd.include "Makefile.fs"
1026b1dcfcdSAdrian Chadd
1036b1dcfcdSAdrian ChaddCRUNCH_LIBS+= -lcrypto -lssl -lz
1046b1dcfcdSAdrian Chadd
1056b1dcfcdSAdrian Chadd# the crunchgen build environment
1066b1dcfcdSAdrian Chadd.include <bsd.crunchgen.mk>
1076b1dcfcdSAdrian Chadd
1086b1dcfcdSAdrian Chadd# and since it creates a program..
1096b1dcfcdSAdrian Chadd.include <bsd.prog.mk>
110