#
# The following is generated by utils.genDep for package/cfg/isqrtTest1-TIME_x86GW
#
package/cfg/isqrtTest1-TIME_x86GW.c package/cfg/isqrtTest1-TIME_x86GW.h package/cfg/isqrtTest1-TIME_x86GW.xdl:isqrtTest1.cfg package/cfg/isqrtTest1-TIME_x86GW.cfg D:/work/tutorial/repo/acme/utils/Bench.xs D:/work/tutorial/repo/charlie/sqrtlib/package.xs E:/rtsc/xdctools_3_15_00_29/include/utils.tci E:/rtsc/xdctools_3_15_00_29/packages/host/platforms/PC/Intel80586.xs E:/rtsc/xdctools_3_15_00_29/packages/host/platforms/PC/Platform.xs E:/rtsc/xdctools_3_15_00_29/packages/host/platforms/PC/package.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/IPackage.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/cfg/Main.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/cfg/Program.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/cfg/package.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/om2.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/package.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/platform/ExeContext.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/platform/IPlatform.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/platform/Utils.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/platform/package.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/rov/Model.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/rov/Program.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/rov/StateReader.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/rov/StructureDecoder.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/Assert.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/Defaults.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/Diags.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/Error.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/Gate.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/GateNull.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/HeapMin.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/HeapStd.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/IGateProvider.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/Log.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/LoggerBuf.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/LoggerSys.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/Memory.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/Startup.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/SysMin.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/System.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/Text.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/Timestamp.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/package.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/services/global/Clock.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/services/global/Trace.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/template.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/xdc.tci E:/rtsc/xdctools_3_15_00_29/packages/xdc/xmlgen.xs E:/rtsc/xdctools_3_15_00_29/packages/xdc/xmlgen2.xs 

D:/work/tutorial/repo/acme/utils/Bench.xs:
D:/work/tutorial/repo/charlie/sqrtlib/package.xs:
E:/rtsc/xdctools_3_15_00_29/include/utils.tci:
E:/rtsc/xdctools_3_15_00_29/packages/host/platforms/PC/Intel80586.xs:
E:/rtsc/xdctools_3_15_00_29/packages/host/platforms/PC/Platform.xs:
E:/rtsc/xdctools_3_15_00_29/packages/host/platforms/PC/package.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/IPackage.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/cfg/Main.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/cfg/Program.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/cfg/package.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/om2.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/package.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/platform/ExeContext.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/platform/IPlatform.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/platform/Utils.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/platform/package.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/rov/Model.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/rov/Program.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/rov/StateReader.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/rov/StructureDecoder.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/Assert.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/Defaults.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/Diags.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/Error.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/Gate.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/GateNull.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/HeapMin.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/HeapStd.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/IGateProvider.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/Log.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/LoggerBuf.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/LoggerSys.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/Memory.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/Startup.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/SysMin.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/System.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/Text.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/Timestamp.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/package.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/services/global/Clock.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/services/global/Trace.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/template.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/xdc.tci:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/xmlgen.xs:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/xmlgen2.xs:


define EXEC.isqrtTest1-TIME.x86GW

./isqrtTest1-TIME.x86GW
endef

#
# The following is generated by java
#

isqrtTest1-TIME.x86GW: D:/work/tutorial/repo/acme/utils/lib/acme.utils.a86GW D:/work/tutorial/repo/acme/utils/clocks/lib/acme.utils.clocks.a86GW E:/rtsc/xdctools_3_15_00_29/packages/gnu/targets/rts86GW/lib/gnu.targets.rts86GW.a86GW D:/work/tutorial/repo/charlie/sqrtlib/lib/isqrt_unroll.a86GW 

package/cfg/isqrtTest1-TIME_x86GW.c: E:/rtsc/xdctools_3_15_00_29/packages/xdc/cfg/Program.xdt E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/Diags.xdt E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/Startup.xdt E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/System.xdt E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/SysMin.xdt E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/Text.xdt E:/rtsc/xdctools_3_15_00_29/packages/gnu/targets/linkcmd.xdt E:/rtsc/xdctools_3_15_00_29/packages/gnu/targets/linkcmd.xdt 
package/cfg/isqrtTest1-TIME_x86GW.c package/cfg/isqrtTest1-TIME_x86GW.xdl: D:/work/tutorial/repo/charlie/sqrtlib/.interfaces D:/work/tutorial/repo/acme/utils/clocks/.interfaces D:/work/tutorial/repo/acme/utils/.interfaces .interfaces 

#
# rule-less goals for files outside this package
# (these goals force a re-build if these files are
# moved or deleted)
#
D:/work/tutorial/repo/acme/utils/lib/acme.utils.a86GW:
D:/work/tutorial/repo/acme/utils/clocks/lib/acme.utils.clocks.a86GW:
E:/rtsc/xdctools_3_15_00_29/packages/gnu/targets/rts86GW/lib/gnu.targets.rts86GW.a86GW:
D:/work/tutorial/repo/charlie/sqrtlib/lib/isqrt_unroll.a86GW:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/cfg/Program.xdt:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/Diags.xdt:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/Startup.xdt:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/System.xdt:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/SysMin.xdt:
E:/rtsc/xdctools_3_15_00_29/packages/xdc/runtime/Text.xdt:
E:/rtsc/xdctools_3_15_00_29/packages/gnu/targets/linkcmd.xdt:
E:/rtsc/xdctools_3_15_00_29/packages/gnu/targets/linkcmd.xdt:
D:/work/tutorial/repo/charlie/sqrtlib/.interfaces:
D:/work/tutorial/repo/acme/utils/clocks/.interfaces:
D:/work/tutorial/repo/acme/utils/.interfaces:

