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 31# Store the toolchain executable in ATF_BUILD_{CC,CPP,CXX} to ensure other 32# values -- like -target, -B ..., etc -- don't get leaked into the tests. 33# 34# Be sure to omit ${CCACHE_BIN} (if specified) from the variable as it gets 35# automatically appended to the variables in bsd.compiler.mk when 36# ${MK_CCACHE_BUILD} != no. 37ATF_BUILD_CC:= ${CC:N${CCACHE_BIN}:[1]} 38ATF_BUILD_CPP:= ${CPP:N${CCACHE_BIN}:[1]} 39ATF_BUILD_CXX:= ${CXX:N${CCACHE_BIN}:[1]} 40 41# Only capture defines, includes, linker flags, optimization levels, warnings 42# and preprocessor flags when building ATF_BUILD_{C,CPP,CXX}FLAGS. 43ATF_BUILD_CFLAGS:= ${CFLAGS:M-[DILOWf]*} 44ATF_BUILD_CPPFLAGS:= ${CPPFLAGS:M-[DILOWf]*} 45ATF_BUILD_CXXFLAGS:= ${CXXFLAGS:M-[DILOWf]*} 46 47LIB= atf-c 48PRIVATELIB= true 49SHLIB_MAJOR= 1 50 51ATF= ${SRCTOP}/contrib/atf 52.PATH: ${ATF} 53.PATH: ${ATF}/atf-c 54.PATH: ${ATF}/atf-c/detail 55 56CFLAGS+= -DATF_BUILD_CC='"${ATF_BUILD_CC}"' 57CFLAGS+= -DATF_BUILD_CFLAGS='"${ATF_BUILD_CFLAGS}"' 58CFLAGS+= -DATF_BUILD_CPP='"${ATF_BUILD_CPP}"' 59CFLAGS+= -DATF_BUILD_CPPFLAGS='"${ATF_BUILD_CPPFLAGS}"' 60CFLAGS+= -DATF_BUILD_CXX='"${ATF_BUILD_CXX}"' 61CFLAGS+= -DATF_BUILD_CXXFLAGS='"${ATF_BUILD_CXXFLAGS}"' 62CFLAGS+= -I${ATF} 63CFLAGS+= -I${.CURDIR} 64CFLAGS+= -I. 65 66SRCS= build.c \ 67 check.c \ 68 dynstr.c \ 69 env.c \ 70 error.c \ 71 fs.c \ 72 list.c \ 73 map.c \ 74 process.c \ 75 sanity.c \ 76 text.c \ 77 user.c \ 78 utils.c \ 79 tc.c \ 80 tp.c \ 81 tp_main.c 82 83INCS= build.h \ 84 check.h \ 85 defs.h \ 86 error.h \ 87 error_fwd.h \ 88 macros.h \ 89 tc.h \ 90 tp.h \ 91 utils.h 92INCSDIR= ${INCLUDEDIR}/atf-c 93 94INCS+= atf-c.h 95INCSDIR_atf-c.h= ${INCLUDEDIR} 96 97MAN= atf-c.3 98MLINKS+= atf-c.3 atf-c-api.3 # Backwards compatibility. 99 100.if ${MK_TESTS} != "no" 101SUBDIR= tests 102.endif 103 104.include "../common.mk" 105.include <bsd.lib.mk> 106