blob: ad03d36bf03ca7b0cc7866966abfae2484b84d2a [file] [log] [blame]
#
# Copyright (C) 2009 Advanced Micro Devices, Inc. All Rights Reserved.
#
# This file is part of libacml_mv.
#
# libacml_mv is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# libacml_mv is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with libacml_mv. If not, see
# <http://www.gnu.org/licenses/>.
#
# Makefile for libacml_mv library
# What we're building, and where to find it.
LIBRARY = libacml_mv.a
TARGETS = $(LIBRARY)
# Makefile setup
include $(COMMONDEFS)
VPATH = $(BUILD_BASE)/src:$(BUILD_BASE)/src/gas
# Compiler options
LCOPTS = $(STD_COMPILE_OPTS) $(STD_C_OPTS)
LCDEFS = $(HOSTDEFS) $(TARGDEFS)
LCINCS = -I$(BUILD_BASE)/inc
# CFLAGS += -Wall -W -Wstrict-prototypes -Werror -fPIC -O2 $(DEBUG)
ifeq ($(BUILD_ARCH), X8664)
CFILES = \
acos.c \
acosf.c \
acosh.c \
acoshf.c \
asin.c \
asinf.c \
asinh.c \
asinhf.c \
atan2.c \
atan2f.c \
atan.c \
atanf.c \
atanh.c \
atanhf.c \
ceil.c \
ceilf.c \
cosh.c \
coshf.c \
exp_special.c \
finite.c \
finitef.c \
floor.c \
floorf.c \
frexp.c \
frexpf.c \
hypot.c \
hypotf.c \
ilogb.c \
ilogbf.c \
ldexp.c \
ldexpf.c \
libm_special.c \
llrint.c \
llrintf.c \
llround.c \
llroundf.c \
log1p.c \
log1pf.c \
logb.c \
logbf.c \
log_special.c \
lrint.c \
lrintf.c \
lround.c \
lroundf.c \
modf.c \
modff.c \
nan.c \
nanf.c \
nearbyintf.c \
nextafter.c \
nextafterf.c \
nexttoward.c \
nexttowardf.c \
pow_special.c \
remainder_piby2.c \
remainder_piby2d2f.c \
rint.c \
rintf.c \
roundf.c \
scalbln.c \
scalblnf.c \
scalbn.c \
scalbnf.c \
sincos_special.c \
sinh.c \
sinhf.c \
sqrt.c \
sqrtf.c \
tan.c \
tanf.c \
tanh.c \
tanhf.c
ASFILES = \
cbrtf.S \
cbrt.S \
copysignf.S \
copysign.S \
cosf.S \
cos.S \
exp10f.S \
exp10.S \
exp2f.S \
exp2.S \
expf.S \
expm1f.S \
expm1.S \
exp.S \
fabsf.S \
fabs.S \
fdimf.S \
fdim.S \
fmaxf.S \
fmax.S \
fminf.S \
fmin.S \
fmodf.S \
fmod.S \
log10f.S \
log10.S \
log2f.S \
log2.S \
logf.S \
log.S \
nearbyint.S \
powf.S \
pow.S \
remainderf.S \
remainder.S \
round.S \
sincosf.S \
sincos.S \
sinf.S \
sin.S \
truncf.S \
trunc.S \
v4hcosl.S \
v4helpl.S \
v4hfrcpal.S \
v4hlog10l.S \
v4hlog2l.S \
v4hlogl.S \
v4hsinl.S \
vrd2cos.S \
vrd2exp.S \
vrd2log10.S \
vrd2log2.S \
vrd2log.S \
vrd2sincos.S \
vrd2sin.S \
vrd4cos.S \
vrd4exp.S \
vrd4frcpa.S \
vrd4log10.S \
vrd4log2.S \
vrd4log.S \
vrd4sin.S \
vrdacos.S \
vrdaexp.S \
vrdalog10.S \
vrdalog2.S \
vrdalogr.S \
vrdalog.S \
vrda_scaled_logr.S \
vrda_scaledshifted_logr.S \
vrdasincos.S \
vrdasin.S \
vrs4cosf.S \
vrs4expf.S \
vrs4log10f.S \
vrs4log2f.S \
vrs4logf.S \
vrs4powf.S \
vrs4powxf.S \
vrs4sincosf.S \
vrs4sinf.S \
vrs8expf.S \
vrs8log10f.S \
vrs8log2f.S \
vrs8logf.S \
vrsacosf.S \
vrsaexpf.S \
vrsalog10f.S \
vrsalog2f.S \
vrsalogf.S \
vrsapowf.S \
vrsapowxf.S \
vrsasincosf.S \
vrsasinf.S
else
# The special processing of the -lm option in the compiler driver should
# be delayed until all of the options have been parsed. Until the
# driver is cleaned up, it is important that processing be the same on
# all architectures. Thus we add an empty 32-bit ACML vector math
# library.
dummy.c :
echo "void libacml_mv_placeholder() {}" > dummy.c
CFILES = dummy.c
LDIRT += dummy.c
endif
default:
$(MAKE) first
$(MAKE) $(TARGETS)
$(MAKE) last
first :
ifndef SKIP_DEP_BUILD
$(call submake,$(BUILD_AREA)/include)
endif
last : make_libdeps
include $(COMMONRULES)
$(LIBRARY): $(OBJECTS)
$(ar) cru $@ $^
$(ranlib) $@