##****************************************************************************** ## INTEL CONFIDENTIAL ## Copyright(C) 2006-2007 Intel Corporation. All Rights Reserved. ## The source code contained or described herein and all documents related to ## the source code ("Material") are owned by Intel Corporation or its suppliers ## or licensors. Title to the Material remains with Intel Corporation or its ## suppliers and licensors. The Material contains trade secrets and proprietary ## and confidential information of Intel or its suppliers and licensors. The ## Material is protected by worldwide copyright and trade secret laws and ## treaty provisions. No part of the Material may be used, copied, reproduced, ## modified, published, uploaded, posted, transmitted, distributed or disclosed ## in any way without Intel's prior express written permission. ## No license under any patent, copyright, trade secret or other intellectual ## property right is granted to or conferred upon you by disclosure or delivery ## of the Materials, either expressly, by implication, inducement, estoppel or ## otherwise. Any license under such intellectual property rights must be ## express and approved by Intel in writing. ## ##****************************************************************************** ## Content: ## Wrapper library building. ## This library allows to use MKL DFTI routines through FFTW interface. ##****************************************************************************** help: @echo Usage: make {lib32/lib64/libem64t} [PRECISION=MKL_DOUBLE/MKL_SINGLE] [F=compiler] [MKL_SUBVERS=version] @echo @echo F=gnu - using GNU C compiler @echo Intel\(R\) C Compiler as default @echo @echo MKL_SUBVERS - can be regular, serial. Regular is default. ##------------------------------------------------------------------------------ ## examples of using: ## ## make lib64 F=gnu - compile by GNU C compiler for double PRECISION data ## and build library for Intel(R) Itanium(R)-based applications ## ## make lib64 PRECISION=MKL_SINGLE F=gnu - compile by GNU C compiler for float ## PRECISION data and build library for ## Intel(R) Itanium(R)-based applications ## ## make libem64t - compile by Intel(R) C Compiler and build library ## for Intel(R) EM64T processor family applications ##------------------------------------------------------------------------------ include fftw2xf.lst ifndef PRECISION PRECISION = MKL_DOUBLE endif ifndef F F = intel endif M = _$F WRP = $(addsuffix .o ,$(WRAP)) ifndef MKL_SUBVERS MKL_SUBVERS = regular endif ADD_SERIAL = ADD_ILP64 = COPTS = ifeq ($(MKL_SUBVERS),serial) ADD_SERIAL = _serial ADD_ILP64 = COPTS = endif lib32: $(MAKE) clean ../../lib$(ADD_SERIAL)$(ADD_ILP64)/32/libfftw2xf$M.a _IA=32 libem64t: $(MAKE) clean ../../lib$(ADD_SERIAL)$(ADD_ILP64)/em64t/libfftw2xf$M.a _IA=em64t lib64: $(MAKE) clean ../../lib$(ADD_SERIAL)$(ADD_ILP64)/64/libfftw2xf$M.a _IA=64 ../../lib$(ADD_SERIAL)$(ADD_ILP64)/$(_IA)/libfftw2xf$M.a: $(WRP) ar rs ../../lib$(ADD_SERIAL)$(ADD_ILP64)/$(_IA)/libfftw2xf$M.a $^ rm -f *.o clean: rm -f ../../lib$(ADD_SERIAL)$(ADD_ILP64)/$(_IA)/libfftw2xf$M.a *.o #------------------------------------------------------------------------------- CC = icc ifeq ($F,gnu) CC = gcc -D_GNU endif vpath %.c wrappers $(WRP): %.o: %.c $(CC) $(COPTS) -c -w -D$(PRECISION) -I../../include -I../../include/fftw $< -o $@ #-------------------------------------------------------------------------------