xref: /freebsd/contrib/pkgconf/Makefile.lite (revision a3cefe7f2b4df0f70ff92d4570ce18e517af43ec)
1*a3cefe7fSPierre Pronchery# Copyright (c) 2019 William Pitcock <nenolod@dereferenced.org>
2*a3cefe7fSPierre Pronchery#
3*a3cefe7fSPierre Pronchery# Permission to use, copy, modify, and/or distribute this software for any
4*a3cefe7fSPierre Pronchery# purpose with or without fee is hereby granted, provided that the above
5*a3cefe7fSPierre Pronchery# copyright notice and this permission notice appear in all copies.
6*a3cefe7fSPierre Pronchery#
7*a3cefe7fSPierre Pronchery# This software is provided 'as is' and without any warranty, express or
8*a3cefe7fSPierre Pronchery# implied.  In no event shall the authors be liable for any damages arising
9*a3cefe7fSPierre Pronchery# from the use of this software.
10*a3cefe7fSPierre Pronchery
11*a3cefe7fSPierre Pronchery# pkgconf-lite is a staticly-linked version of pkgconf that does not include
12*a3cefe7fSPierre Pronchery# all features, notably it does not include cross-compile support and MSVC
13*a3cefe7fSPierre Pronchery# support.  It does not include the libpkgconf library.
14*a3cefe7fSPierre Pronchery
15*a3cefe7fSPierre ProncherySRCS = \
16*a3cefe7fSPierre Pronchery	libpkgconf/argvsplit.c		\
17*a3cefe7fSPierre Pronchery	libpkgconf/audit.c		\
18*a3cefe7fSPierre Pronchery	libpkgconf/bsdstubs.c		\
19*a3cefe7fSPierre Pronchery	libpkgconf/cache.c		\
20*a3cefe7fSPierre Pronchery	libpkgconf/client.c		\
21*a3cefe7fSPierre Pronchery	libpkgconf/dependency.c		\
22*a3cefe7fSPierre Pronchery	libpkgconf/fileio.c		\
23*a3cefe7fSPierre Pronchery	libpkgconf/fragment.c		\
24*a3cefe7fSPierre Pronchery	libpkgconf/parser.c		\
25*a3cefe7fSPierre Pronchery	libpkgconf/path.c		\
26*a3cefe7fSPierre Pronchery	libpkgconf/personality.c	\
27*a3cefe7fSPierre Pronchery	libpkgconf/pkg.c		\
28*a3cefe7fSPierre Pronchery	libpkgconf/queue.c		\
29*a3cefe7fSPierre Pronchery	libpkgconf/tuple.c		\
30*a3cefe7fSPierre Pronchery	cli/getopt_long.c		\
31*a3cefe7fSPierre Pronchery	cli/main.c
32*a3cefe7fSPierre ProncheryOBJS = ${SRCS:.c=.o}
33*a3cefe7fSPierre ProncheryCFLAGS = ${STATIC} -DPKGCONF_LITE -I. -Ilibpkgconf -Icli -DSYSTEM_LIBDIR=\"${SYSTEM_LIBDIR}\" -DSYSTEM_INCLUDEDIR=\"${SYSTEM_INCLUDEDIR}\" -DPKG_DEFAULT_PATH=\"${PKG_DEFAULT_PATH}\"
34*a3cefe7fSPierre ProncherySTATIC =
35*a3cefe7fSPierre ProncherySTRIP = strip
36*a3cefe7fSPierre Pronchery
37*a3cefe7fSPierre Proncheryall: pkgconf-lite
38*a3cefe7fSPierre Pronchery
39*a3cefe7fSPierre Proncherylibpkgconf/config.h:
40*a3cefe7fSPierre Pronchery	@echo '#define PACKAGE_NAME "pkgconf-lite"' >> $@
41*a3cefe7fSPierre Pronchery	@echo '#define PACKAGE_BUGREPORT "https://git.dereferenced.org/pkgconf/pkgconf/issues"' >> $@
42*a3cefe7fSPierre Pronchery	@echo '#define PACKAGE_VERSION "2.5.1"' >> $@
43*a3cefe7fSPierre Pronchery	@echo '#define PACKAGE PACKAGE_NAME " " PACKAGE_VERSION' >> $@
44*a3cefe7fSPierre Pronchery	@echo '#define HAVE_STRLCPY' >> $@
45*a3cefe7fSPierre Pronchery	@echo '#define HAVE_STRLCAT' >> $@
46*a3cefe7fSPierre Pronchery	@echo '#define HAVE_STRNDUP' >> $@
47*a3cefe7fSPierre Pronchery
48*a3cefe7fSPierre Proncherypkgconf-lite: preflight libpkgconf/config.h ${OBJS}
49*a3cefe7fSPierre Pronchery	${CC} ${STATIC} -o $@ ${OBJS}
50*a3cefe7fSPierre Pronchery	${STRIP} $@
51*a3cefe7fSPierre Pronchery
52*a3cefe7fSPierre Proncheryclean:
53*a3cefe7fSPierre Pronchery	rm -f libpkgconf/config.h
54*a3cefe7fSPierre Pronchery	rm -f ${OBJS}
55*a3cefe7fSPierre Pronchery	rm -f pkgconf-lite
56*a3cefe7fSPierre Pronchery
57*a3cefe7fSPierre Proncherypreflight: preflight-system-libdir preflight-system-includedir preflight-pkg-default-path
58*a3cefe7fSPierre Pronchery
59*a3cefe7fSPierre Proncherypreflight-system-libdir:
60*a3cefe7fSPierre Pronchery	@if test -z "${SYSTEM_LIBDIR}"; then		\
61*a3cefe7fSPierre Pronchery		echo "SYSTEM_LIBDIR not set.";		\
62*a3cefe7fSPierre Pronchery		exit 1;					\
63*a3cefe7fSPierre Pronchery	fi
64*a3cefe7fSPierre Pronchery
65*a3cefe7fSPierre Proncherypreflight-system-includedir:
66*a3cefe7fSPierre Pronchery	@if test -z "${SYSTEM_INCLUDEDIR}"; then	\
67*a3cefe7fSPierre Pronchery		echo "SYSTEM_INCLUDEDIR not set.";	\
68*a3cefe7fSPierre Pronchery		exit 1;					\
69*a3cefe7fSPierre Pronchery	fi
70*a3cefe7fSPierre Pronchery
71*a3cefe7fSPierre Proncherypreflight-pkg-default-path:
72*a3cefe7fSPierre Pronchery	@if test -z "${PKG_DEFAULT_PATH}"; then		\
73*a3cefe7fSPierre Pronchery		echo "PKG_DEFAULT_PATH not set.";	\
74*a3cefe7fSPierre Pronchery		exit 1;					\
75*a3cefe7fSPierre Pronchery	fi
76*a3cefe7fSPierre Pronchery
77*a3cefe7fSPierre Pronchery.PHONY: preflight preflight-system-libdir preflight-system-includedir preflight-pkg-default-path clean
78