aboutsummaryrefslogtreecommitdiffstats
path: root/sbin/geom/Makefile
diff options
context:
space:
mode:
authorBrooks Davis <brooks@FreeBSD.org>2018-06-25 19:55:15 +0000
committerBrooks Davis <brooks@FreeBSD.org>2018-06-25 19:55:15 +0000
commite4b0a90e771b94e4b043729a6f0f5564f1d01aca (patch)
tree2cb4088f70d2963a7584dc9069c3c90a27081d45 /sbin/geom/Makefile
parent9c42fa94a63fc22aee2bd106aa12bfa7388f3911 (diff)
downloadsrc-e4b0a90e771b94e4b043729a6f0f5564f1d01aca.tar.gz
src-e4b0a90e771b94e4b043729a6f0f5564f1d01aca.zip
Normalize the g(eom,cache,part,...) build.
Rather then combining hardlink creation for the geom(8) binary with shared library build, move libraries to src/lib/geom so they are built and installed normally. Create a common Makefile.classes which is included by both lib/geom/Makefile and sbin/geom/Makefile so the symlink and libraries stay in sync. The relocation of libraries allows libraries to be build for 32-bit compat. This also reduces the number of non-standard builds in the system. This commit is not sufficent to run a 32-bit /sbin/geom on a 64-bit system out of the box as it will look in the wrong place for libraries unless GEOM_LIBRARY_PATH is set appropriatly in the environment. Reviewed by: bdrewery Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D15360
Notes
Notes: svn path=/head/; revision=335645
Diffstat (limited to 'sbin/geom/Makefile')
-rw-r--r--sbin/geom/Makefile38
1 files changed, 20 insertions, 18 deletions
diff --git a/sbin/geom/Makefile b/sbin/geom/Makefile
index 5ef8fb847dd8..9520483815b3 100644
--- a/sbin/geom/Makefile
+++ b/sbin/geom/Makefile
@@ -1,28 +1,30 @@
# $FreeBSD$
-PACKAGE=runtime
-.if defined(RESCUE) || defined(RELEASE_CRUNCH)
+.include <src.opts.mk>
-.PATH: ${.CURDIR}/class/part \
- ${.CURDIR}/class/label \
- ${.CURDIR}/core \
- ${.CURDIR}/misc
+.PATH: ${.CURDIR}/core ${.CURDIR}/misc
-PROG= geom
-SRCS= geom.c geom_label.c geom_part.c subr.c
-MAN=
+PACKAGE=runtime
+PROG= geom
+SRCS= geom.c subr.c
+MAN= geom.8
+CFLAGS+= -I${.CURDIR} -I${.CURDIR}/core
+CFLAGS+= -DGEOM_CLASS_DIR=\"${GEOM_CLASS_DIR}\"
-WARNS?= 2
-CFLAGS+=-I${.CURDIR} -I${.CURDIR}/core -DSTATIC_GEOM_CLASSES
+LIBADD= geom util
-LIBADD= geom util
+.if defined(RESCUE) || defined(RELEASE_CRUNCH)
+.PATH: ${SRCTOP}/lib/geom/part \
+ ${SRCTOP}/lib/geom/label
-.include <bsd.prog.mk>
+SRCS+= geom_label.c geom_part.c
+MAN=
+WARNS?= 2
+CFLAGS+=-DSTATIC_GEOM_CLASSES
.else
-
-SUBDIR= core class
-
-.include <bsd.subdir.mk>
-
+.include "${SRCTOP}/lib/geom/Makefile.classes"
+LINKS= ${GEOM_CLASSES:S|^|${BINDIR}/geom ${BINDIR}/g|}
.endif
+
+.include <bsd.prog.mk>