he following script builds the pfeAddin.dll, the principal component of
Python for Excel.
import ots.make.options as opt
import ots.make.generator as gen
import ots.io as io
version=opt.Version.Release
boost=opt.Libs.Boost_1_51
stlport=opt.Libs.STLport
Opts=[
(opt.Runtime.Msvc9,opt.Libs.Python26),
(opt.Runtime.Msvc71,opt.Libs.Python25),
(opt.Runtime.Msvc9,opt.Libs.Python27)
]
otsDir=opt.CDrive+"OTSProjects"
pfeDir=otsDir+"PythonForExcel"
execfile(str(pfeDir+'distribution'+'mak'+'wrPyVersion.py'))
for (runtime,python) in Opts :
libs=[stlport,python,boost,boost.Python,boost.Thread]
if(
runtime==opt.Runtime.Msvc9 ) :
addinDir=pfeDir+"p26ide"+"pfeAddin"+"pfeAddin"
csDir=pfeDir+"p26ide"+"pfeControlShell"+"pfeControlShell"
pokerDir=pfeDir+"p26ide"+"pfeExcelPoker"+"pfeExcelPoker"
if(
runtime==opt.Runtime.Msvc71 ) :
addinDir=pfeDir+"pfeAddin"
csDir=pfeDir+"pfeControlShell"
pokerDir=pfeDir+"pfeExcelPoker"
files=[
(
addinDir,
[
"CoExcelListener.cpp",
"ComHousing.cpp",
"ControlShellAccess.cpp",
"pfeAddin_i.c",
"pfeAddin.idl",
"pfeAddin.def"
]
),
(
pokerDir,
[
"pfeExcelPoker_i.c"
]
),
(
pfeDir+"pfe"+"addin",
[
"pfe_addin_impl.cpp",
"pfe_addin_pyredirect.cpp"
]
),
(
pfeDir+"pfe"+"errors",
[
"pfe_error_check.cpp",
"pfe_error_MessageBoxReporting.cpp",
"pfe_error_pythonRegistration.cpp"
]
),
(
pfeDir+"pfe"+"pythonAPI",
[
"PythonSession.cpp"
]
),
(
pfeDir+"pfe"+"vba",
[
"Application.cpp",
"Border.cpp",
"Borders.cpp",
"ColorIndex.cpp",
"Dispatch.cpp",
"DispatchId.cpp",
"ErrorCode.cpp",
"ExcelEvents.cpp",
"ExcelEventsToString.cpp",
"Font.cpp",
"Hyperlink.cpp",
"Hyperlinks.cpp",
"Interior.cpp",
"Invoke.cpp",
"InvokeConverters.cpp",
"Name.cpp",
"Names.cpp",
"ObjectToVariant.cpp",
"Range.cpp",
"SafeArray.cpp",
"SafeArrayAccessorMap.cpp",
"StreamConverter.cpp",
"TypeInfo.cpp",
"TypeString.cpp",
"Unknown.cpp",
"Variant.cpp",
"VariantBase.cpp",
"VariantAccessorMap.cpp",
"VariantToObject.cpp",
"VarType.cpp",
"Window.cpp",
"Windows.cpp",
"Workbook.cpp",
"Workbooks.cpp",
"Worksheet.cpp",
"Worksheets.cpp"
]
),
(
pfeDir+"pfe"+"copyProtection",
[
"ots_cp_check0.cpp",
"ots_cp_check1.cpp",
"ots_cp_check2.cpp",
"ots_cp_check3.cpp",
"ots_cp_check4.cpp",
"ots_cp_check5.cpp",
"ots_cp_check6.cpp",
"ots_cp_check7.cpp",
"ots_cp_check8.cpp",
"ots_cp_getId0.cpp",
"ots_cp_getId1.cpp",
"ots_cp_getId2.cpp",
"ots_cp_getId3.cpp",
"ots_cp_getId4.cpp",
"ots_cp_getId5.cpp",
"ots_cp_getId6.cpp",
"ots_cp_getId7.cpp",
"ots_cp_getId8.cpp",
"ots_cp_map.cpp",
"ots_cp_msg0.cpp",
"ots_cp_msg1.cpp",
"ots_cp_msg2.cpp",
"ots_cp_msg3.cpp",
"ots_cp_msg4.cpp",
"ots_cp_msg5.cpp",
"ots_cp_msg6.cpp",
"ots_cp_msg7.cpp",
"ots_cp_msg8.cpp",
"ots_cp_pcid0.cpp",
"ots_cp_perm.cpp",
"ots_cp_random.cpp",
"ots_cp_trm0.cpp",
"ots_cp_trm1.cpp",
"ots_cp_trm2.cpp",
"ots_cp_trm3.cpp",
"ots_cp_trm4.cpp",
"ots_cp_trm5.cpp",
"ots_cp_trm6.cpp",
"ots_cp_trm7.cpp",
"ots_cp_trm8.cpp",
"ots_cp_version.cpp"
]
),
(
otsDir+"ots"+"utils",
[
"otsString.cpp",
"otsDate.cpp"
]
),
(
otsDir+"ots"+"math"+"random",
[
"uniform.cpp",
"uniform2.cpp"
]
)
]
if(
runtime==opt.Runtime.Msvc9 ) :
files.append(
( addinDir, [ "rc.rc" ] ) )
outputName="pfeAddin"
outputDir=pfeDir+"distribution"+"output"+python.pythonString()
objDir=pfeDir+"distribution"+"output"+"tmp"+("ai"+python.pythonSuffix())
g=gen.MakeFile(
outputName=outputName,
outputDir=outputDir,
objDir=objDir,
version=version,
runtime=runtime,
output=opt.Output.ComDll,
libs=libs,
files=files,
compile=[
opt.Compile.Include('"'+str(pfeDir)+'"'),
opt.Compile.Include('"'+str(otsDir)+'"')
],
askBeforeDelete=False
)
g.make()
g.build()
For the MSVC9 option, the above script would generate the following make file.
CP_OPTS = \
-DBOOST_ALL_DYN_LINK=1
\
-DBOOST_ALL_NO_LIB=1
\
-DUNICODE
\
-DWIN32
\
-D_MBCS
\
-D_UNICODE
\
-D_USRDLL
\
-D_WINDLL
\
-D_WINDOWS
\
-I"c:/OTSProjects"
\
-I"c:/OTSProjects/PythonForExcel"
\
-I"c:/STLport-5.2.1/stlport"
\
-I"c:/boost_1_51_0"
\
-I"c:/python26/include"
\
-c
\
/EHsc
\
/GR
\
/GS
\
/MD
\
/O2
\
/Ob2
\
/W3
\
/Zc:forScope
\
/Zc:wchar_t
\
/wd4675
LN_LIBS = \
bCrn_b151_msvc9_release_stlp521.lib
\
bDt_b151_msvc9_release_stlp521.lib
\
bPy_b151_msvc9_py26_release_stlp521.lib
\
bSys_b151_msvc9_release_stlp521.lib
\
bTh_b151_msvc9_release_stlp521.lib
\
kernel32.lib
\
ole32.lib
\
oleaut32.lib
\
python26.lib
\
user32.lib
LN_OPTS = \
/DEF:"c:/OTSProjects/PythonForExcel/p26ide/pfeAddin/pfeAddin/pfeAddin.def"
\
/DLL
\
/IMPLIB:$(OUTPUT_DIR)/$(RESULT_NAME).lib
\
/INCREMENTAL:NO
\
/LIBPATH:"c:/OTSProjects/Boost/Chrono/bin/bCrn_b151_msvc9_release_stlp521"
\
/LIBPATH:"c:/OTSProjects/Boost/DateTime/bin/bDt_b151_msvc9_release_stlp521"
\
/LIBPATH:"c:/OTSProjects/Boost/Python/bin/bPy_b151_msvc9_py26_release_stlp521"
\
/LIBPATH:"c:/OTSProjects/Boost/System/bin/bSys_b151_msvc9_release_stlp521"
\
/LIBPATH:"c:/OTSProjects/Boost/Thread/bin/bTh_b151_msvc9_release_stlp521"
\
/LIBPATH:"c:/STLport-5.2.1/build/lib/obj/vc9/shared"
\
/LIBPATH:"c:/python26/libs"
\
/MACHINE:X86
\
/MANIFEST
\
/MANIFESTUAC:"level='asInvoker'
uiAccess='false'" \
/NOLOGO
\
/opt:icf
\
/opt:ref
\
/out:"$(OUTPUT_DIR)/$(RESULT_NAME).dll"
\
/subsystem:windows
MIDL_OPTS = \
/D
"NDEBUG" \
/Oicf
\
/char
signed \
/env
win32 \
/error
stub_data \
/h
"$(SRC_DIR0)/pfeAddin_h.h" \
/iid
"$(SRC_DIR0)/pfeAddin_i.c" \
/proxy
"$(SRC_DIR0)/pfeAddin_p.c" \
/tlb
"$(OUTPUT_DIR)/pfeAddin.tlb"
OBJS = \
$(OBJ_DIR0)/CoExcelListener.obj
\
$(OBJ_DIR0)/ComHousing.obj
\
$(OBJ_DIR0)/ControlShellAccess.obj
\
$(OBJ_DIR0)/pfeAddin.res
\
$(OBJ_DIR0)/pfeAddin_i.obj
\
$(OBJ_DIR1)/pfeExcelPoker_i.obj
\
$(OBJ_DIR2)/pfe_addin_impl.obj
\
$(OBJ_DIR2)/pfe_addin_pyredirect.obj
\
$(OBJ_DIR3)/pfe_error_MessageBoxReporting.obj
\
$(OBJ_DIR3)/pfe_error_check.obj
\
$(OBJ_DIR3)/pfe_error_pythonRegistration.obj
\
$(OBJ_DIR4)/PythonSession.obj
\
$(OBJ_DIR5)/Application.obj
\
$(OBJ_DIR5)/Border.obj
\
$(OBJ_DIR5)/Borders.obj
\
$(OBJ_DIR5)/ColorIndex.obj
\
$(OBJ_DIR5)/Dispatch.obj
\
$(OBJ_DIR5)/DispatchId.obj
\
$(OBJ_DIR5)/ErrorCode.obj
\
$(OBJ_DIR5)/ExcelEvents.obj
\
$(OBJ_DIR5)/ExcelEventsToString.obj
\
$(OBJ_DIR5)/Font.obj
\
$(OBJ_DIR5)/Hyperlink.obj
\
$(OBJ_DIR5)/Hyperlinks.obj
\
$(OBJ_DIR5)/Interior.obj
\
$(OBJ_DIR5)/Invoke.obj
\
$(OBJ_DIR5)/InvokeConverters.obj
\
$(OBJ_DIR5)/Name.obj
\
$(OBJ_DIR5)/Names.obj
\
$(OBJ_DIR5)/ObjectToVariant.obj
\
$(OBJ_DIR5)/Range.obj
\
$(OBJ_DIR5)/SafeArray.obj
\
$(OBJ_DIR5)/SafeArrayAccessorMap.obj
\
$(OBJ_DIR5)/StreamConverter.obj
\
$(OBJ_DIR5)/TypeInfo.obj
\
$(OBJ_DIR5)/TypeString.obj
\
$(OBJ_DIR5)/Unknown.obj
\
$(OBJ_DIR5)/VarType.obj
\
$(OBJ_DIR5)/Variant.obj
\
$(OBJ_DIR5)/VariantAccessorMap.obj
\
$(OBJ_DIR5)/VariantBase.obj
\
$(OBJ_DIR5)/VariantToObject.obj
\
$(OBJ_DIR5)/Window.obj
\
$(OBJ_DIR5)/Windows.obj
\
$(OBJ_DIR5)/Workbook.obj
\
$(OBJ_DIR5)/Workbooks.obj
\
$(OBJ_DIR5)/Worksheet.obj
\
$(OBJ_DIR5)/Worksheets.obj
\
$(OBJ_DIR6)/ots_cp_check0.obj
\
$(OBJ_DIR6)/ots_cp_check1.obj
\
$(OBJ_DIR6)/ots_cp_check2.obj
\
$(OBJ_DIR6)/ots_cp_check3.obj
\
$(OBJ_DIR6)/ots_cp_check4.obj
\
$(OBJ_DIR6)/ots_cp_check5.obj
\
$(OBJ_DIR6)/ots_cp_check6.obj
\
$(OBJ_DIR6)/ots_cp_check7.obj
\
$(OBJ_DIR6)/ots_cp_check8.obj
\
$(OBJ_DIR6)/ots_cp_getId0.obj
\
$(OBJ_DIR6)/ots_cp_getId1.obj
\
$(OBJ_DIR6)/ots_cp_getId2.obj
\
$(OBJ_DIR6)/ots_cp_getId3.obj
\
$(OBJ_DIR6)/ots_cp_getId4.obj
\
$(OBJ_DIR6)/ots_cp_getId5.obj
\
$(OBJ_DIR6)/ots_cp_getId6.obj
\
$(OBJ_DIR6)/ots_cp_getId7.obj
\
$(OBJ_DIR6)/ots_cp_getId8.obj
\
$(OBJ_DIR6)/ots_cp_map.obj
\
$(OBJ_DIR6)/ots_cp_msg0.obj
\
$(OBJ_DIR6)/ots_cp_msg1.obj
\
$(OBJ_DIR6)/ots_cp_msg2.obj
\
$(OBJ_DIR6)/ots_cp_msg3.obj
\
$(OBJ_DIR6)/ots_cp_msg4.obj
\
$(OBJ_DIR6)/ots_cp_msg5.obj
\
$(OBJ_DIR6)/ots_cp_msg6.obj
\
$(OBJ_DIR6)/ots_cp_msg7.obj
\
$(OBJ_DIR6)/ots_cp_msg8.obj
\
$(OBJ_DIR6)/ots_cp_pcid0.obj
\
$(OBJ_DIR6)/ots_cp_perm.obj
\
$(OBJ_DIR6)/ots_cp_random.obj
\
$(OBJ_DIR6)/ots_cp_trm0.obj
\
$(OBJ_DIR6)/ots_cp_trm1.obj
\
$(OBJ_DIR6)/ots_cp_trm2.obj
\
$(OBJ_DIR6)/ots_cp_trm3.obj
\
$(OBJ_DIR6)/ots_cp_trm4.obj
\
$(OBJ_DIR6)/ots_cp_trm5.obj
\
$(OBJ_DIR6)/ots_cp_trm6.obj
\
$(OBJ_DIR6)/ots_cp_trm7.obj
\
$(OBJ_DIR6)/ots_cp_trm8.obj
\
$(OBJ_DIR6)/ots_cp_version.obj
\
$(OBJ_DIR7)/otsDate.obj
\
$(OBJ_DIR7)/otsString.obj
\
$(OBJ_DIR8)/uniform.obj
\
$(OBJ_DIR8)/uniform2.obj
OBJ_DIR0 =
c:/OTSProjects/PythonForExcel/distribution/output/tmp/ai26/dir0
OBJ_DIR1 =
c:/OTSProjects/PythonForExcel/distribution/output/tmp/ai26/dir1
OBJ_DIR2 =
c:/OTSProjects/PythonForExcel/distribution/output/tmp/ai26/dir2
OBJ_DIR3 =
c:/OTSProjects/PythonForExcel/distribution/output/tmp/ai26/dir3
OBJ_DIR4 =
c:/OTSProjects/PythonForExcel/distribution/output/tmp/ai26/dir4
OBJ_DIR5 =
c:/OTSProjects/PythonForExcel/distribution/output/tmp/ai26/dir5
OBJ_DIR6 =
c:/OTSProjects/PythonForExcel/distribution/output/tmp/ai26/dir6
OBJ_DIR7 =
c:/OTSProjects/PythonForExcel/distribution/output/tmp/ai26/dir7
OBJ_DIR8 =
c:/OTSProjects/PythonForExcel/distribution/output/tmp/ai26/dir8
OUTPUT_DIR =
c:/OTSProjects/PythonForExcel/distribution/output/python26
RCSCRIPT_FILE =
c:/OTSProjects/PythonForExcel/p26ide/pfeAddin/pfeAddin/rc.rc
RC_INCLUDE = c:/Program Files/Microsoft Visual Studio
9.0/VC/atlmfc/include
RESULT_NAME = pfeAddin
SRC_DIR0 =
c:/OTSProjects/PythonForExcel/p26ide/pfeAddin/pfeAddin
SRC_DIR1 =
c:/OTSProjects/PythonForExcel/p26ide/pfeExcelPoker/pfeExcelPoker
SRC_DIR2 = c:/OTSProjects/PythonForExcel/pfe/addin
SRC_DIR3 = c:/OTSProjects/PythonForExcel/pfe/errors
SRC_DIR4 =
c:/OTSProjects/PythonForExcel/pfe/pythonAPI
SRC_DIR5 = c:/OTSProjects/PythonForExcel/pfe/vba
SRC_DIR6 =
c:/OTSProjects/PythonForExcel/pfe/copyProtection
SRC_DIR7 = c:/OTSProjects/ots/utils
SRC_DIR8 = c:/OTSProjects/ots/math/random
goal : "$(OUTPUT_DIR)/$(RESULT_NAME).dll"
"$(OUTPUT_DIR)/pfeAddin.tlb"
"$(OBJ_DIR0)/CoExcelListener.obj" :
"$(SRC_DIR0)/CoExcelListener.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR0)/ComHousing.obj" :
"$(SRC_DIR0)/ComHousing.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR0)/ControlShellAccess.obj" :
"$(SRC_DIR0)/ControlShellAccess.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR0)/pfeAddin.res" : "$(RCSCRIPT_FILE)"
"$(OUTPUT_DIR)/pfeAddin.tlb"
rc.exe
/d "NDEBUG" /d "_UNICODE" /d "UNICODE" /i "$(RC_INCLUDE)" /l 0x409
/fo"$(OBJ_DIR0)/pfeAddin.res" "$(RCSCRIPT_FILE)"
"$(OBJ_DIR0)/pfeAddin_i.obj" :
"$(SRC_DIR0)/pfeAddin_i.c"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR1)/pfeExcelPoker_i.obj" :
"$(SRC_DIR1)/pfeExcelPoker_i.c"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR2)/pfe_addin_impl.obj" :
"$(SRC_DIR2)/pfe_addin_impl.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR2)/pfe_addin_pyredirect.obj" :
"$(SRC_DIR2)/pfe_addin_pyredirect.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR3)/pfe_error_MessageBoxReporting.obj" :
"$(SRC_DIR3)/pfe_error_MessageBoxReporting.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR3)/pfe_error_check.obj" :
"$(SRC_DIR3)/pfe_error_check.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR3)/pfe_error_pythonRegistration.obj" :
"$(SRC_DIR3)/pfe_error_pythonRegistration.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR4)/PythonSession.obj" :
"$(SRC_DIR4)/PythonSession.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/Application.obj" :
"$(SRC_DIR5)/Application.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/Border.obj" :
"$(SRC_DIR5)/Border.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/Borders.obj" :
"$(SRC_DIR5)/Borders.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/ColorIndex.obj" :
"$(SRC_DIR5)/ColorIndex.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/Dispatch.obj" :
"$(SRC_DIR5)/Dispatch.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/DispatchId.obj" :
"$(SRC_DIR5)/DispatchId.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/ErrorCode.obj" :
"$(SRC_DIR5)/ErrorCode.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/ExcelEvents.obj" :
"$(SRC_DIR5)/ExcelEvents.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/ExcelEventsToString.obj" :
"$(SRC_DIR5)/ExcelEventsToString.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/Font.obj" :
"$(SRC_DIR5)/Font.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/Hyperlink.obj" :
"$(SRC_DIR5)/Hyperlink.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/Hyperlinks.obj" :
"$(SRC_DIR5)/Hyperlinks.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/Interior.obj" :
"$(SRC_DIR5)/Interior.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/Invoke.obj" :
"$(SRC_DIR5)/Invoke.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/InvokeConverters.obj" :
"$(SRC_DIR5)/InvokeConverters.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/Name.obj" :
"$(SRC_DIR5)/Name.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/Names.obj" :
"$(SRC_DIR5)/Names.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/ObjectToVariant.obj" :
"$(SRC_DIR5)/ObjectToVariant.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/Range.obj" :
"$(SRC_DIR5)/Range.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/SafeArray.obj" :
"$(SRC_DIR5)/SafeArray.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/SafeArrayAccessorMap.obj" :
"$(SRC_DIR5)/SafeArrayAccessorMap.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/StreamConverter.obj" :
"$(SRC_DIR5)/StreamConverter.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/TypeInfo.obj" :
"$(SRC_DIR5)/TypeInfo.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/TypeString.obj" :
"$(SRC_DIR5)/TypeString.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/Unknown.obj" :
"$(SRC_DIR5)/Unknown.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/VarType.obj" :
"$(SRC_DIR5)/VarType.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/Variant.obj" :
"$(SRC_DIR5)/Variant.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/VariantAccessorMap.obj" :
"$(SRC_DIR5)/VariantAccessorMap.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/VariantBase.obj" :
"$(SRC_DIR5)/VariantBase.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/VariantToObject.obj" :
"$(SRC_DIR5)/VariantToObject.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/Window.obj" :
"$(SRC_DIR5)/Window.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/Windows.obj" :
"$(SRC_DIR5)/Windows.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/Workbook.obj" :
"$(SRC_DIR5)/Workbook.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/Workbooks.obj" :
"$(SRC_DIR5)/Workbooks.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/Worksheet.obj" :
"$(SRC_DIR5)/Worksheet.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR5)/Worksheets.obj" :
"$(SRC_DIR5)/Worksheets.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_check0.obj" :
"$(SRC_DIR6)/ots_cp_check0.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_check1.obj" :
"$(SRC_DIR6)/ots_cp_check1.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_check2.obj" :
"$(SRC_DIR6)/ots_cp_check2.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_check3.obj" :
"$(SRC_DIR6)/ots_cp_check3.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_check4.obj" :
"$(SRC_DIR6)/ots_cp_check4.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_check5.obj" :
"$(SRC_DIR6)/ots_cp_check5.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_check6.obj" :
"$(SRC_DIR6)/ots_cp_check6.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_check7.obj" :
"$(SRC_DIR6)/ots_cp_check7.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_check8.obj" :
"$(SRC_DIR6)/ots_cp_check8.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_getId0.obj" :
"$(SRC_DIR6)/ots_cp_getId0.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_getId1.obj" :
"$(SRC_DIR6)/ots_cp_getId1.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_getId2.obj" :
"$(SRC_DIR6)/ots_cp_getId2.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_getId3.obj" :
"$(SRC_DIR6)/ots_cp_getId3.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_getId4.obj" :
"$(SRC_DIR6)/ots_cp_getId4.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_getId5.obj" :
"$(SRC_DIR6)/ots_cp_getId5.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_getId6.obj" :
"$(SRC_DIR6)/ots_cp_getId6.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_getId7.obj" :
"$(SRC_DIR6)/ots_cp_getId7.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_getId8.obj" :
"$(SRC_DIR6)/ots_cp_getId8.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_map.obj" :
"$(SRC_DIR6)/ots_cp_map.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_msg0.obj" :
"$(SRC_DIR6)/ots_cp_msg0.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_msg1.obj" :
"$(SRC_DIR6)/ots_cp_msg1.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_msg2.obj" :
"$(SRC_DIR6)/ots_cp_msg2.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_msg3.obj" :
"$(SRC_DIR6)/ots_cp_msg3.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_msg4.obj" :
"$(SRC_DIR6)/ots_cp_msg4.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_msg5.obj" :
"$(SRC_DIR6)/ots_cp_msg5.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_msg6.obj" :
"$(SRC_DIR6)/ots_cp_msg6.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_msg7.obj" :
"$(SRC_DIR6)/ots_cp_msg7.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_msg8.obj" :
"$(SRC_DIR6)/ots_cp_msg8.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_pcid0.obj" :
"$(SRC_DIR6)/ots_cp_pcid0.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_perm.obj" :
"$(SRC_DIR6)/ots_cp_perm.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_random.obj" :
"$(SRC_DIR6)/ots_cp_random.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_trm0.obj" :
"$(SRC_DIR6)/ots_cp_trm0.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_trm1.obj" :
"$(SRC_DIR6)/ots_cp_trm1.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_trm2.obj" :
"$(SRC_DIR6)/ots_cp_trm2.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_trm3.obj" :
"$(SRC_DIR6)/ots_cp_trm3.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_trm4.obj" :
"$(SRC_DIR6)/ots_cp_trm4.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_trm5.obj" :
"$(SRC_DIR6)/ots_cp_trm5.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_trm6.obj" :
"$(SRC_DIR6)/ots_cp_trm6.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_trm7.obj" :
"$(SRC_DIR6)/ots_cp_trm7.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_trm8.obj" :
"$(SRC_DIR6)/ots_cp_trm8.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR6)/ots_cp_version.obj" :
"$(SRC_DIR6)/ots_cp_version.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR7)/otsDate.obj" :
"$(SRC_DIR7)/otsDate.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR7)/otsString.obj" :
"$(SRC_DIR7)/otsString.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR8)/uniform.obj" :
"$(SRC_DIR8)/uniform.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OBJ_DIR8)/uniform2.obj" :
"$(SRC_DIR8)/uniform2.cpp"
cl
$? -Fo$@ $(CP_OPTS)
"$(OUTPUT_DIR)/$(RESULT_NAME).dll" : $(OBJS)
link
$(LN_OPTS) $(OBJS) $(LN_LIBS)
mt
-nologo -manifest "$(OUTPUT_DIR)/$(RESULT_NAME).dll.manifest"
-outputresource:"$(OUTPUT_DIR)/$(RESULT_NAME).dll;#2"
"$(OUTPUT_DIR)/pfeAddin.tlb" :
"$(SRC_DIR0)/pfeAddin.idl"
midl.exe
$(MIDL_OPTS) $?
|