PROG=		pkgin
VERSION=	0.2.5
SRCS=		main.c summary.c tools.c pkgindb.c depends.c actions.c \
		pkglist.c download.c order.c impact.c autoremove.c fsops.c
# included from libinstall
SRCS+=		automatic.c decompress.c dewey.c \
		fexec.c file.c ftpio.c global.c iterate.c lpkg.c \
		opattern.c path.c pexec.c pen.c pkgdb.c pkg_io.c \
		str.c var.c

# packages prefix
LOCALBASE=	/usr/pkg
CPPFLAGS+=	-DLOCALBASE=\"${LOCALBASE}\"
# pkg_summary archive format (bz2 or gz)
# if this is a standalone build, i.e. not from pkgsrc, and
# your pkg_summary file is in gzip format, you may want to
# uncomment SUMMEXT and set its value to "gz"
#SUMEXT=		"bz2"
.if defined(SUMEXT)
CPPFLAGS+=	-DSUMEXT=\"${SUMEXT}\"
.endif

OPSYS!=		uname
OS_VER!=	uname -r
OS_ARCH!=	uname -p

PKGIN_VERSION=	"${VERSION} for ${OPSYS}-${OS_VER} ${OS_ARCH}"

CPPFLAGS+=	-DPKGIN_VERSION=\"${PKGIN_VERSION}\"

.if ${OPSYS} == "Darwin" || ${OPSYS} == "SunOS" || ${OPSYS} == Linux
SRCS+=	humanize_number.c
.endif

.if ${OPSYS} == "SunOS"
SRCS+=		strsep.c
CPPFLAGS+=	-DNB_STRSEP
.endif

DPSRCS=	pkgindb_create.h

.if ${OPSYS} == "NetBSD"
WARNS=	2
.endif

MKMAN=		no

.include <bsd.own.mk>

.PATH:	external

.if defined(DEBUG)
CPPFLAGS+=	-DDEBUG
PKGIN_DB!=	pwd
.else
PKGIN_DB=	/var/db/pkgin
.endif

.if ${OPSYS} == "NetBSD"
PKGTOOLS?=	/usr/sbin

CPPFLAGS+=	-DNETBSD
.else
PKGTOOLS?=	${LOCALBASE}/sbin
.endif

CPPFLAGS+=	-ggdb
CPPFLAGS+=	-DHAVE_CONFIG_H -DPKGIN_DB=\"${PKGIN_DB}\"
CPPFLAGS+=	-DPKGTOOLS=\"${PKGTOOLS}\"
CPPFLAGS+=	-I${LOCALBASE}/include -Iexternal

COPTS.plist.c+=	-Wno-pointer-sign

LDADD+=		-lfetch -lbz2 -lz -ltermcap -larchive
.if ${OPSYS} != "Linux"
LDADD+=		-lssl
.endif
.if ${OPSYS} == "Darwin" || ${OPSYS} == "SunOS"
LDADD+=		-lcrypto
.endif
.if ${OPSYS} == "DragonFly"
LDADD+=		-lutil
.endif
.if ${OPSYS} == "SunOS" || ${OPSYS} == "Linux"
LDADD+=		-lnbcompat
.endif
.if ${OPSYS} == "SunOS"
LDADD+=		-lnsl -lsocket -lresolv
LDADD+=		-Wl,-R -Wl,${LOCALBASE}/lib -L${LOCALBASE}/lib -lsqlite3
.else
LDADD+=		-Wl,-rpath -Wl,${LOCALBASE}/lib -L${LOCALBASE}/lib -lsqlite3
.endif

.if ${OPSYS} == "SunOS"
SEDCMD=		"nbsed -E"
.elif ${OPSYS} == "Linux"
SEDCMD=		"sed -r"
.else
SEDCMD=		"sed -E"
.endif

pkgindb_create.h:
	@SEDCMD=${SEDCMD} ./mkpkgindb.sh > pkgindb_create.h

.include <bsd.prog.mk>
