xref: /freebsd/lib/atf/libatf-c++/Makefile (revision 3bdf775801b218aa5a89564839405b122f4b233e)
1#-
2# Copyright (c) 2011 Google, Inc.
3# All rights reserved.
4#
5# Redistribution and use in source and binary forms, with or without
6# modification, are permitted provided that the following conditions
7# are met:
8# 1. Redistributions of source code must retain the above copyright
9#    notice, this list of conditions and the following disclaimer.
10# 2. Redistributions in binary form must reproduce the above copyright
11#    notice, this list of conditions and the following disclaimer in the
12#    documentation and/or other materials provided with the distribution.
13#
14# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24# SUCH DAMAGE.
25#
26# $FreeBSD$
27
28.include <bsd.init.mk>
29
30LIB=		atf-c++
31SHLIB_MAJOR=	2
32
33# libatf-c++ depends on the C version of the ATF library to build.
34DPADD=		${LIBATFC}
35LDADD=		-latf-c
36
37LDFLAGS+=	-L${.OBJDIR}/../libatf-c
38
39ATF=		${.CURDIR:H:H:H}/contrib/atf
40.PATH:		${ATF}
41.PATH:		${ATF}/atf-c++
42.PATH:		${ATF}/atf-c++/detail
43
44CFLAGS+=	-I${ATF}
45CFLAGS+=	-I${.CURDIR}/../libatf-c
46CFLAGS+=	-I.
47
48CFLAGS+=	-DHAVE_CONFIG_H
49
50SRCS=		application.cpp \
51		build.cpp \
52		check.cpp \
53		config.cpp \
54		env.cpp \
55		exceptions.cpp \
56		fs.cpp \
57		process.cpp \
58		tests.cpp \
59		text.cpp \
60		utils.cpp
61
62INCS=		build.hpp \
63		check.hpp \
64		config.hpp \
65		macros.hpp \
66		tests.hpp \
67		utils.hpp
68INCSDIR=	${INCLUDEDIR}/atf-c++
69
70INCS+=		atf-c++.hpp
71INCSDIR_atf-c++.hpp= ${INCLUDEDIR}
72
73MAN=		atf-c++-api.3
74
75all: atf-c++.pc
76atf-c++.pc: atf-c++.pc.in atf-version
77	sed -e 's,__CXX__,${CXX},g' \
78	    -e 's,__INCLUDEDIR__,${INCLUDEDIR},g' \
79	    -e 's,__LIBDIR__,${LIBDIR},g' \
80	    -e "s,__ATF_VERSION__,$$(cat atf-version),g" \
81	    <${ATF}/atf-c++/atf-c++.pc.in >atf-c++.pc
82
83beforeinstall:
84	${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
85		atf-c++.pc ${DESTDIR}${LIBDATADIR}/pkgconfig
86	${INSTALL} -C -o ${SHAREOWN} -g ${SHAREGRP} -m ${SHAREMODE} \
87		${ATF}/atf-c++/atf-c++.m4 ${DESTDIR}${SHAREDIR}/aclocal
88
89.if ${MK_TESTS} != "no"
90SUBDIR=		tests
91.endif
92
93.include "../common.mk"
94.include <bsd.lib.mk>
95