xref: /freebsd/lib/atf/libatf-c++/Makefile (revision 4ec234c813eed05c166859bba82c882e40826eb9)
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=	1
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		expand.cpp \
57		fs.cpp \
58		parser.cpp \
59		process.cpp \
60		tests.cpp \
61		text.cpp \
62		ui.cpp \
63		utils.cpp
64
65INCS=		build.hpp \
66		check.hpp \
67		config.hpp \
68		macros.hpp \
69		noncopyable.hpp \
70		tests.hpp \
71		utils.hpp
72INCSDIR=	${INCLUDEDIR}/atf-c++
73
74INCS+=		atf-c++.hpp
75INCSDIR_atf-c++.hpp= ${INCLUDEDIR}
76
77MAN=		atf-c++-api.3
78
79all: atf-c++.pc
80atf-c++.pc: atf-c++.pc.in atf-version
81	sed -e 's,__CXX__,${CXX},g' \
82	    -e 's,__INCLUDEDIR__,${INCLUDEDIR},g' \
83	    -e 's,__LIBDIR__,${LIBDIR},g' \
84	    -e "s,__ATF_VERSION__,$$(cat atf-version),g" \
85	    <${ATF}/atf-c++/atf-c++.pc.in >atf-c++.pc
86
87beforeinstall:
88	${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
89		atf-c++.pc ${DESTDIR}${LIBDATADIR}/pkgconfig
90
91.if ${MK_TESTS} != "no"
92SUBDIR=		tests
93.endif
94
95.include "../common.mk"
96.include <bsd.lib.mk>
97