xref: /freebsd/lib/atf/libatf-c++/Makefile (revision 0572ccaa4543b0abef8ef81e384c1d04de9f3da1)
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 <src.opts.mk>
29.include <bsd.init.mk>
30
31LIB=		atf-c++
32SHLIB_MAJOR=	2
33
34# libatf-c++ depends on the C version of the ATF library to build.
35DPADD=		${LIBATFC}
36LDADD=		-latf-c
37
38LDFLAGS+=	-L${.OBJDIR}/../libatf-c
39
40ATF=		${.CURDIR:H:H:H}/contrib/atf
41.PATH:		${ATF}
42.PATH:		${ATF}/atf-c++
43.PATH:		${ATF}/atf-c++/detail
44
45CFLAGS+=	-I${ATF}
46CFLAGS+=	-I${.CURDIR}/../libatf-c
47CFLAGS+=	-I.
48
49CFLAGS+=	-DHAVE_CONFIG_H
50
51SRCS=		application.cpp \
52		build.cpp \
53		check.cpp \
54		config.cpp \
55		env.cpp \
56		exceptions.cpp \
57		fs.cpp \
58		process.cpp \
59		tests.cpp \
60		text.cpp \
61		utils.cpp
62
63INCS=		build.hpp \
64		check.hpp \
65		config.hpp \
66		macros.hpp \
67		tests.hpp \
68		utils.hpp
69INCSDIR=	${INCLUDEDIR}/atf-c++
70
71INCS+=		atf-c++.hpp
72INCSDIR_atf-c++.hpp= ${INCLUDEDIR}
73
74MAN=		atf-c++-api.3
75
76all: atf-c++.pc
77atf-c++.pc: atf-c++.pc.in atf-version
78	sed -e 's,__CXX__,${CXX},g' \
79	    -e 's,__INCLUDEDIR__,${INCLUDEDIR},g' \
80	    -e 's,__LIBDIR__,${LIBDIR},g' \
81	    -e "s,__ATF_VERSION__,$$(cat atf-version),g" \
82	    <${ATF}/atf-c++/atf-c++.pc.in >atf-c++.pc
83
84beforeinstall:
85	${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
86		atf-c++.pc ${DESTDIR}${LIBDATADIR}/pkgconfig
87	${INSTALL} -C -o ${SHAREOWN} -g ${SHAREGRP} -m ${SHAREMODE} \
88		${ATF}/atf-c++/atf-c++.m4 ${DESTDIR}${SHAREDIR}/aclocal
89
90.if ${MK_TESTS} != "no"
91SUBDIR=		tests
92.endif
93
94.include "../common.mk"
95.include <bsd.lib.mk>
96