Makefile.mk revision b3cedf98a3c8545da2234c2d35cb5d687984035f
13742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman#===- lib/Makefile.mk --------------------------------------*- Makefile -*--===#
23742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman#
33742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman#                     The LLVM Compiler Infrastructure
43742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman#
53742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman# This file is distributed under the University of Illinois Open Source
63742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman# License. See LICENSE.TXT for details.
73742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman#
83742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman#===------------------------------------------------------------------------===#
93742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman
103742d9db8b6edb10627b0f89336cca5249f1d15aManuel RomanModuleName := builtins
113742d9db8b6edb10627b0f89336cca5249f1d15aManuel RomanSubDirs :=
123742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman
133742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman# Add arch specific optimized implementations.
143742d9db8b6edb10627b0f89336cca5249f1d15aManuel RomanSubDirs += i386 ppc x86_64 arm
153742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman
163742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman# Add other submodules.
173742d9db8b6edb10627b0f89336cca5249f1d15aManuel RomanSubDirs += asan
183742d9db8b6edb10627b0f89336cca5249f1d15aManuel RomanSubDirs += interception
193742d9db8b6edb10627b0f89336cca5249f1d15aManuel RomanSubDirs += profile
203742d9db8b6edb10627b0f89336cca5249f1d15aManuel RomanSubDirs += sanitizer_common
213742d9db8b6edb10627b0f89336cca5249f1d15aManuel RomanSubDirs += tsan
223742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman
233742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman# FIXME: We don't currently support building an atomic library, and as it must
243742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman# be a separate library from the runtime library, we need to remove its source
253742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman# code from the source files list.
263742d9db8b6edb10627b0f89336cca5249f1d15aManuel RomanExcludedSources := atomic.c
273742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman
283742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman# Define the variables for this specific directory.
293742d9db8b6edb10627b0f89336cca5249f1d15aManuel RomanSources := $(foreach file,$(wildcard $(Dir)/*.c),$(filter-out $(ExcludedSources),$(notdir $(file))))
303742d9db8b6edb10627b0f89336cca5249f1d15aManuel RomanObjNames := $(Sources:%.c=%.o)
313742d9db8b6edb10627b0f89336cca5249f1d15aManuel RomanImplementation := Generic
323742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman
333742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman# FIXME: use automatic dependencies?
343742d9db8b6edb10627b0f89336cca5249f1d15aManuel RomanDependencies := $(wildcard $(Dir)/*.h)
353742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman