1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
|
# Intel Compiler (on Windows, using the Microsoft Standard Library)
# (C) Copyright David Abrahams 2001. Permission to copy, use,
# modify, sell and distribute this software is granted provided this
# copyright notice appears in all copies. This software is provided
# "as is" without express or implied warranty, and with no claim as
# to its suitability for any purpose.
# Adapted from msvc-tools.jam by Beman Dawes
# compute INTEL tool path
# You can either put the intel-win32 bin directory in your PATH, or you can set
# INTELROOT to point at the intel-win32 installation directory
INTEL_TOOL_PATH ?= "$(INTEL_PATH)"$(SLASH)bin$(SLASH) ;
# try the variable that FTJam tells you to set
INTEL_TOOL_PATH ?= "$(INTELC)"$(SLASH)bin$(SLASH) ;
INTEL_TOOL_PATH ?= "" ; # Don't clobber adjoining text if INTELROOT isn't set
extends-toolset msvc ;
flags intel-win32 STDHDRS : $(VISUALC)$(SLASH)include ;
#### Link ####
rule Link-action
{
with-command-file intel-win32-Link-action $(<) : $(>) $(NEEDLIBS) ;
if $(<[2])
{
# incremental linking a DLL causes no end of problems: if the
# actual exports don't change, the import .lib file is never
# updated. Therefore, the .lib is always out-of-date and gets
# rebuilt every time. I'm not sure that incremental linking is
# such a great idea in general, but in this case I'm sure we
# don't want it.
NOINCREMENTAL on $(<) = /INCREMENTAL:NO ;
}
}
actions intel-win32-Link-action bind NEEDLIBS
{
$(MSVC_SETUP)
$(INTEL_TOOL_PATH)xilink /nologo $(NOINCREMENTAL) $(LINKFLAGS) /PDB:"$(<[1]:S=.pdb)" /out:"$(<[1])" /IMPLIB:$(<[2]) /LIBPATH:$(LIBPATH) /LIBPATH:$(STDLIBPATH) "$(FINDLIBS)" @"$(>)"
}
#### Cc #####
rule Cc-action
{
intel-win32-Cc-action $(<) : $(>) ;
}
actions intel-win32-Cc-action
{
$(INTEL_TOOL_PATH)icl /Zm400 -nologo -c -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -Fo"$(<)" "$(>)"
}
#### C++ ####
rule C++-action
{
intel-win32-C++-action $(<) : $(>) ;
}
actions intel-win32-C++-action
{
$(INTEL_TOOL_PATH)icl /Zm400 -nologo -GX -c -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -Fo"$(<)" -Tp"$(>)"
}
#### Archive ####
rule Archive-action
{
intel-win32-Archive-action $(<) : $(>) ;
}
actions updated together piecemeal intel-win32-Archive-action
{
if exist "$(<)" set _$(<:B)_="$(<)"
$(INTEL_TOOL_PATH)xilink $(ARFLAGS) /lib /out:"$(<)" %_$(<:B)_% "$(>)"
}
|