1#	$NetBSD: Makefile,v 1.13 2023/09/14 19:54:41 rillig Exp $
2
3USE_FORT?=	no
4NOLINT=		# reporter.c uses a '?:' operator
5CWARNFLAGS.clang+=	-Wno-parentheses
6
7.include "../../lvm2tools.mk"
8
9.PATH:	${LVM2_DISTDIR}/man
10
11PROG=		lvm
12
13BINDIR=		/sbin
14
15SRCS=		dumpconfig.c formats.c lvchange.c lvconvert.c lvcreate.c \
16		lvdisplay.c lvextend.c lvmchange.c lvmcmdline.c \
17		lvmdiskscan.c lvreduce.c lvremove.c lvrename.c lvresize.c \
18		lvscan.c polldaemon.c pvchange.c pvck.c pvcreate.c \
19		pvdisplay.c pvmove.c pvremove.c pvresize.c pvscan.c \
20		reporter.c segtypes.c toollib.c vgcfgbackup.c \
21		vgcfgrestore.c vgchange.c vgck.c vgconvert.c vgcreate.c \
22		vgdisplay.c vgexport.c vgextend.c vgimport.c vgmerge.c \
23		vgmknodes.c vgreduce.c vgremove.c vgrename.c vgscan.c \
24		vgsplit.c lvm.c
25
26
27CPPFLAGS+=	-I${LVM2_DISTDIR}/lib -I${LVM2_DISTDIR}/include \
28		-I. -I${LIBDEVMAPPER_INCLUDE} -I${LVM2_DISTDIR}/tools \
29		-I${LIBDEVMAPPER_DISTDIR}
30
31CPPFLAGS+=	-DLVM_SHARED_PATH=\"$(BINDIR)/lvm\"
32
33.include <bsd.own.mk>
34
35# Some parts of the code can't be protected because if its
36# alloca() usage.
37#
38.if defined(USE_SSP) && (${USE_SSP} != "no")
39CPPFLAGS+=      -Wno-stack-protector
40.endif
41
42MAN= 		lvchange.8 lvconvert.8 lvcreate.8 lvdisplay.8 lvextend.8 \
43		lvm.8 lvm.conf.5 lvmchange.8 lvmdiskscan.8 lvmdump.8 \
44		lvreduce.8 lvremove.8 lvrename.8 lvresize.8 lvs.8 \
45		lvscan.8 pvchange.8 pvck.8 pvcreate.8 pvdisplay.8 \
46		pvmove.8 pvremove.8 pvresize.8 pvs.8 pvscan.8 \
47		vgcfgbackup.8 vgcfgrestore.8 vgchange.8 vgck.8 vgconvert.8 \
48		vgcreate.8 vgdisplay.8 vgexport.8 vgextend.8 vgimport.8 \
49		vgmerge.8 vgmknodes.8 vgreduce.8 vgremove.8 vgrename.8 \
50		vgs.8 vgscan.8 vgsplit.8
51
52
53MKLINKS+=	lvchange.8 lvchange.1 \
54                lvconvert.8 lvconvert.1 \
55                lvcreate.8 lvcreate.1 \
56                lvdisplay.8 lvdisplay.1 \
57                lvextend.8 lvextend.1 \
58                lvm.8 lvm.1 \
59                lvm.conf lvm.1 \
60                lvmchange.8 lvmchange.1 \
61                lvmdiskscan.8 lvmdiskscan.1 \
62                lvmdump.8 lvmdump.1 \
63                lvreduce.8 lvreduce.1 \
64                lvremove.8 lvremove.1 \
65                lvrename.8 lvrename.1 \
66                lvresize.8 lvresize.1 \
67                lvs.8 lvs.1 \
68                lvscan.8 lvscan.1 \
69                pvchange.8 pvchange.1 \
70                pvck.8 pvck.1 \
71                pvcreate.8 pvcreate.1 \
72                pvdisplay.8 pvdisplay.1 \
73                pvmove.8 pvmove.1 \
74                pvremove.8 pvremove.1 \
75                pvresize.8 pvresize.1 \
76                pvs.8 pvs.1 \
77                pvscan.8 pvscan.1 \
78                vgcfgbackup.8 vgcfgbackup.1 \
79                vgcfgrestore.8 vgcfgrestore.1 \
80                vgchange.8 vgchange.1 \
81                vgck.8 vgck.1 \
82                vgconvert.8 vgconvert.1 \
83                vgcreate.8 vgcreate.1 \
84                vgdisplay.8 vgdisplay.1 \
85                vgexport.8 vgexport.1 \
86                vgextend.8 vgextend.1 \
87                vgimport.8 vgimport.1 \
88                vgmerge.8 vgmerge.1 \
89                vgmknodes.8 vgmknodes.1 \
90                vgreduce.8 vgreduce.1 \
91                vgremove.8 vgremove.1 \
92                vgrename.8 vgrename.1 \
93                vgs.8 vgs.1 \
94                vgscan.8 vgscan.1 \
95                vgsplit.8 vgsplit.1
96
97LIBLVM_OBJDIR!= cd ${LVM2_SRCDIR}/lib/liblvm && ${PRINTOBJDIR}
98LDADD+=         -L${LIBLVM_OBJDIR} -llvm
99DPADD+=         ${LIBLVM_OBJDIR}/liblvm.a
100
101LIBDEVMAPPER_OBJDIR!=  cd ${LIBDEVMAPPER_SRCDIR} && ${PRINTOBJDIR}
102LDADD+=         -L${LIBDEVMAPPER_OBJDIR} -ldevmapper
103DPADD+=         ${LIBDEVMAPPER_OBJDIR}/libdevmapper.a
104
105LIBDM_OBJDIR!=  cd ${LIBDM_SRCDIR} && ${PRINTOBJDIR}
106#LDADD+=         -L${LIBDM_OBJDIR} -ldm
107LDADD+=         ${LIBDM_OBJDIR}/libdm.a
108DPADD+=         ${LIBDM_OBJDIR}/libdm.a
109
110LDADD+=		-lprop -ledit -ltermcap
111
112#LDSTATIC= 	-static
113
114.PATH:	${LVM2_DISTDIR}/tools
115
116
117.include <bsd.prog.mk>
118