Index: script/ygopro_编译.html ================================================================== --- script/ygopro_编译.html +++ script/ygopro_编译.html @@ -36,10 +36,12 @@
来,走起,我们来编译一个小且可用的 ygopro 。
功能不求全,只要有残局功能就够了。
@@ -211,11 +213,11 @@ |——|——|—— include |——|——|—— builds编译:
cl /MD /O2 /c /D FT2_BUILD_LIBRARY -I ./lib/freetype/include
可以发现,上面添加了头文件所在的文件夹。
-但奇怪的是,怎么没看到c文件?
+但奇怪的是,怎么没看到 c 文件?
因为这一次要编译的文件太多了:
str["freetype_文件表"] = {
"src/autofit/autofit.c"
, "src/base/ftbase.c"
@@ -257,10 +259,844 @@
, "src/winfonts/winfnt.c"
, "src/svg/ftsvg.c"
, "builds/windows/ftsystem.c"
, "builds/windows/ftdebug.c"
}
+大致的流程基本讲清了,接下来就是细节:
+local str = {}
+local fun = {}
+
+local coroutine = _G.coroutine
+local debug = _G.debug
+local io = _G.io
+local math = _G.math
+local os = _G.os
+local package = _G.package
+local string = _G.string
+local table = _G.table
+
+local lfs = _G.lfs
+
+--底层--------------------
+
+fun["lua_预处理"] = function() --{
+
+ str["lua_目录"] = lfs.currentdir() .. "/lib/lua/src"
+
+ os.remove(str["lua_目录"] .. "/lua.c")
+
+ os.remove(str["lua_目录"] .. "/luac.c")
+
+ os.remove(str["lua_目录"] .. "/Makefile")
+
+ str["lua_编译参数"] = "cl "
+ .. "/MD "
+ .. "/O2 "
+ .. "/c "
+ .. "/TP "
+ .. "/EHsc "
+
+ end --}
+
+fun["lua_编译"] = function() --{
+
+ os.execute(str["lua_编译参数"] .. "./lib/lua/src/*.c")
+
+ os.execute("lib /OUT:lua.lib *.obj")
+
+ end --}
+
+fun["lua_清理"] = function() --{
+
+ os.execute("del *.obj")
+
+ end --}
+
+fun["sqlite3_预处理"] = function() --{
+
+ str["sqlite3_编译参数"] = "cl "
+ .. "/MD "
+ .. "/O2 "
+ .. "/c "
+
+ end --}
+
+fun["sqlite3_编译"] = function() --{
+
+ os.execute(str["sqlite3_编译参数"] .. "./lib/sqlite3/*.c")
+
+ os.execute("lib /OUT:sqlite3.lib *.obj")
+
+ end --}
+
+fun["sqlite3_清理"] = function() --{
+
+ os.execute("del *.obj")
+
+ end --}
+
+fun["freetype_预处理"] = function() --{
+
+ str["freetype_编译参数"] = "cl "
+ .. "/MD "
+ .. "/O2 "
+ .. "/c "
+ .. "/wd 4819 "
+ .. "/D FT2_BUILD_LIBRARY "
+ .. "-I " .. lfs.currentdir() .. "/lib/freetype/include "
+
+ str["freetype_文件表"] = {
+
+ "src/autofit/autofit.c"
+ , "src/base/ftbase.c"
+ , "src/base/ftbbox.c"
+ , "src/base/ftbdf.c"
+ , "src/base/ftbitmap.c"
+ , "src/base/ftcid.c"
+ , "src/base/ftfstype.c"
+ , "src/base/ftgasp.c"
+ , "src/base/ftglyph.c"
+ , "src/base/ftgxval.c"
+ , "src/base/ftinit.c"
+ , "src/base/ftmm.c"
+ , "src/base/ftotval.c"
+ , "src/base/ftpatent.c"
+ , "src/base/ftpfr.c"
+ , "src/base/ftstroke.c"
+ , "src/base/ftsynth.c"
+ , "src/base/fttype1.c"
+ , "src/base/ftwinfnt.c"
+ , "src/bdf/bdf.c"
+ , "src/cache/ftcache.c"
+ , "src/cff/cff.c"
+ , "src/cid/type1cid.c"
+ , "src/gzip/ftgzip.c"
+ , "src/lzw/ftlzw.c"
+ , "src/pcf/pcf.c"
+ , "src/pfr/pfr.c"
+ , "src/psaux/psaux.c"
+ , "src/pshinter/pshinter.c"
+ , "src/psnames/psmodule.c"
+ , "src/raster/raster.c"
+ , "src/sfnt/sfnt.c"
+ , "src/sdf/sdf.c"
+ , "src/smooth/smooth.c"
+ , "src/truetype/truetype.c"
+ , "src/type1/type1.c"
+ , "src/type42/type42.c"
+ , "src/winfonts/winfnt.c"
+ , "src/svg/ftsvg.c"
+ , "builds/windows/ftsystem.c"
+ , "builds/windows/ftdebug.c"
+ }
+
+ end --}
+
+fun["freetype_编译"] = function() --{
+
+ for i = 1, #str["freetype_文件表"] do --{
+
+ os.execute(str["freetype_编译参数"]
+ .. "./lib/freetype/"
+ .. str["freetype_文件表"][i])
+
+ end --}
+
+ os.execute("lib /OUT:freetype.lib *.obj")
+
+ end --}
+
+fun["freetype_清理"] = function() --{
+
+ os.execute("del *.obj")
+
+ end --}
+
+fun["libevent_预处理"] = function() --{
+
+ str["libevent_编译参数"] = "cl "
+ .. "/MD "
+ .. "/O2 "
+ .. "/c "
+ .. "/D EVENT__HAVE_STDINT_H "
+ .. "-I " .. lfs.currentdir() .. "/lib/event/include "
+ .. "-I " .. lfs.currentdir() .. "/lib/event/compat "
+
+ str["libevent_文件移动参数"] = "robocopy "
+ .. lfs.currentdir() .. "/lib/event/WIN32-Code/nmake "
+ .. lfs.currentdir() .. "/lib/event/include "
+ .. "/xx "
+ .. "/E "
+
+ str["libevent_文件表"] = {
+
+ "event.c"
+ , "evthread.c"
+ , "buffer.c"
+ , "bufferevent.c"
+ , "bufferevent_sock.c"
+ , "bufferevent_filter.c"
+ , "bufferevent_pair.c"
+ , "listener.c"
+ , "bufferevent_ratelim.c"
+ , "evmap.c"
+ , "log.c"
+ , "evutil.c"
+ , "evutil_rand.c"
+ , "evutil_time.c"
+ , "strlcpy.c"
+ , "signal.c"
+ , "event_tagging.c"
+ , "http.c"
+ , "evdns.c"
+ , "evrpc.c"
+ , "win32select.c"
+ , "evthread_win32.c"
+ , "buffer_iocp.c"
+ , "event_iocp.c"
+ , "bufferevent_async.c"
+ , "WIN32-Code/getopt_long.c"
+ , "WIN32-Code/getopt.c"
+ }
+
+ end --}
+
+fun["libevent_编译"] = function() --{
+
+ os.execute(str["libevent_文件移动参数"])
+
+ for i = 1, #str["libevent_文件表"] do --{
+
+ os.execute(str["libevent_编译参数"]
+ .. "./lib/event/"
+ .. str["libevent_文件表"][i])
+
+ end --}
+
+ os.execute("lib /OUT:event.lib *.obj")
+
+ end --}
+
+fun["libevent_清理"] = function() --{
+
+ os.execute("del *.obj")
+
+ end --}
+
+fun["irrlicht_预处理"] = function() --{
+
+ str["irrlicht_编译参数"] = "cl "
+ .. "/MD "
+ .. "/O2 "
+ .. "/c "
+ .. "/wd 4819 "
+ .. "/EHsc "
+ .. "/D UNICODE "
+ .. "/D _IRR_STATIC_LIB_ "
+ .. "/D _IRR_WCHAR_FILESYSTEM "
+ .. "/D NO_IRR_COMPILE_WITH_DIRECT3D_9_ "
+ .. "/D NO_IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_ "
+ .. "-I " .. lfs.currentdir() .. "/lib/irrlicht/include "
+ .. "-I " .. lfs.currentdir() .. "/lib/irrlicht/source/Irrlicht "
+ .. "-I " .. lfs.currentdir() .. "/lib/irrlicht/source/Irrlicht/jpeglib "
+ .. "-I " .. lfs.currentdir() .. "/lib/irrlicht/source/Irrlicht/libpng "
+ .. "-I " .. lfs.currentdir() .. "/lib/irrlicht/source/Irrlicht/zlib "
+
+ str["irrlicht_文件表"] = {
+
+ "source/Irrlicht/CCgMaterialRenderer.cpp"
+ , "source/Irrlicht/CD3D9CgMaterialRenderer.cpp"
+ , "source/Irrlicht/CDefaultSceneNodeAnimatorFactory.cpp"
+ , "source/Irrlicht/CDefaultSceneNodeFactory.cpp"
+ , "source/Irrlicht/CGeometryCreator.cpp"
+ , "source/Irrlicht/CMeshCache.cpp"
+ , "source/Irrlicht/CMeshManipulator.cpp"
+ , "source/Irrlicht/COpenGLCgMaterialRenderer.cpp"
+ , "source/Irrlicht/CSceneManager.cpp"
+ , "source/Irrlicht/C3DSMeshFileLoader.cpp"
+ , "source/Irrlicht/CSMFMeshFileLoader.cpp"
+ , "source/Irrlicht/CAnimatedMeshHalfLife.cpp"
+ , "source/Irrlicht/CAnimatedMeshMD2.cpp"
+ , "source/Irrlicht/CAnimatedMeshMD3.cpp"
+ , "source/Irrlicht/CB3DMeshFileLoader.cpp"
+ , "source/Irrlicht/CBSPMeshFileLoader.cpp"
+ , "source/Irrlicht/CColladaFileLoader.cpp"
+ , "source/Irrlicht/CCSMLoader.cpp"
+ , "source/Irrlicht/CDMFLoader.cpp"
+ , "source/Irrlicht/CIrrMeshFileLoader.cpp"
+ , "source/Irrlicht/CLMTSMeshFileLoader.cpp"
+ , "source/Irrlicht/CLWOMeshFileLoader.cpp"
+ , "source/Irrlicht/CMD2MeshFileLoader.cpp"
+ , "source/Irrlicht/CMD3MeshFileLoader.cpp"
+ , "source/Irrlicht/CMS3DMeshFileLoader.cpp"
+ , "source/Irrlicht/CMY3DMeshFileLoader.cpp"
+ , "source/Irrlicht/COBJMeshFileLoader.cpp"
+ , "source/Irrlicht/COCTLoader.cpp"
+ , "source/Irrlicht/COgreMeshFileLoader.cpp"
+ , "source/Irrlicht/CPLYMeshFileLoader.cpp"
+ , "source/Irrlicht/CQ3LevelMesh.cpp"
+ , "source/Irrlicht/CSkinnedMesh.cpp"
+ , "source/Irrlicht/CSTLMeshFileLoader.cpp"
+ , "source/Irrlicht/CXMeshFileLoader.cpp"
+ , "source/Irrlicht/CAnimatedMeshSceneNode.cpp"
+ , "source/Irrlicht/CBillboardSceneNode.cpp"
+ , "source/Irrlicht/CBoneSceneNode.cpp"
+ , "source/Irrlicht/CCameraSceneNode.cpp"
+ , "source/Irrlicht/CCubeSceneNode.cpp"
+ , "source/Irrlicht/CDummyTransformationSceneNode.cpp"
+ , "source/Irrlicht/CEmptySceneNode.cpp"
+ , "source/Irrlicht/CLightSceneNode.cpp"
+ , "source/Irrlicht/CMeshSceneNode.cpp"
+ , "source/Irrlicht/COctreeSceneNode.cpp"
+ , "source/Irrlicht/CQuake3ShaderSceneNode.cpp"
+ , "source/Irrlicht/CShadowVolumeSceneNode.cpp"
+ , "source/Irrlicht/CSkyBoxSceneNode.cpp"
+ , "source/Irrlicht/CSkyDomeSceneNode.cpp"
+ , "source/Irrlicht/CSphereSceneNode.cpp"
+ , "source/Irrlicht/CTerrainSceneNode.cpp"
+ , "source/Irrlicht/CTextSceneNode.cpp"
+ , "source/Irrlicht/CVolumeLightSceneNode.cpp"
+ , "source/Irrlicht/CWaterSurfaceSceneNode.cpp"
+ , "source/Irrlicht/CParticleAnimatedMeshSceneNodeEmitter.cpp"
+ , "source/Irrlicht/CParticleAttractionAffector.cpp"
+ , "source/Irrlicht/CParticleBoxEmitter.cpp"
+ , "source/Irrlicht/CParticleCylinderEmitter.cpp"
+ , "source/Irrlicht/CParticleFadeOutAffector.cpp"
+ , "source/Irrlicht/CParticleGravityAffector.cpp"
+ , "source/Irrlicht/CParticleMeshEmitter.cpp"
+ , "source/Irrlicht/CParticlePointEmitter.cpp"
+ , "source/Irrlicht/CParticleRingEmitter.cpp"
+ , "source/Irrlicht/CParticleRotationAffector.cpp"
+ , "source/Irrlicht/CParticleScaleAffector.cpp"
+ , "source/Irrlicht/CParticleSphereEmitter.cpp"
+ , "source/Irrlicht/CParticleSystemSceneNode.cpp"
+ , "source/Irrlicht/CMetaTriangleSelector.cpp"
+ , "source/Irrlicht/COctreeTriangleSelector.cpp"
+ , "source/Irrlicht/CSceneCollisionManager.cpp"
+ , "source/Irrlicht/CTerrainTriangleSelector.cpp"
+ , "source/Irrlicht/CTriangleBBSelector.cpp"
+ , "source/Irrlicht/CTriangleSelector.cpp"
+ , "source/Irrlicht/CSceneLoaderIrr.cpp"
+ , "source/Irrlicht/CSceneNodeAnimatorCameraFPS.cpp"
+ , "source/Irrlicht/CSceneNodeAnimatorCameraMaya.cpp"
+ , "source/Irrlicht/CSceneNodeAnimatorCollisionResponse.cpp"
+ , "source/Irrlicht/CSceneNodeAnimatorDelete.cpp"
+ , "source/Irrlicht/CSceneNodeAnimatorFlyCircle.cpp"
+ , "source/Irrlicht/CSceneNodeAnimatorFlyStraight.cpp"
+ , "source/Irrlicht/CSceneNodeAnimatorFollowSpline.cpp"
+ , "source/Irrlicht/CSceneNodeAnimatorRotation.cpp"
+ , "source/Irrlicht/CSceneNodeAnimatorTexture.cpp"
+ , "source/Irrlicht/CColladaMeshWriter.cpp"
+ , "source/Irrlicht/CIrrMeshWriter.cpp"
+ , "source/Irrlicht/COBJMeshWriter.cpp"
+ , "source/Irrlicht/CPLYMeshWriter.cpp"
+ , "source/Irrlicht/CSTLMeshWriter.cpp"
+ , "source/Irrlicht/CVideoModeList.cpp"
+ , "source/Irrlicht/CSoftwareDriver.cpp"
+ , "source/Irrlicht/CSoftwareTexture.cpp"
+ , "source/Irrlicht/CTRFlat.cpp"
+ , "source/Irrlicht/CTRFlatWire.cpp"
+ , "source/Irrlicht/CTRGouraud.cpp"
+ , "source/Irrlicht/CTRGouraudWire.cpp"
+ , "source/Irrlicht/CTRTextureFlat.cpp"
+ , "source/Irrlicht/CTRTextureFlatWire.cpp"
+ , "source/Irrlicht/CTRTextureGouraud.cpp"
+ , "source/Irrlicht/CTRTextureGouraudAdd.cpp"
+ , "source/Irrlicht/CTRTextureGouraudNoZ.cpp"
+ , "source/Irrlicht/CTRTextureGouraudWire.cpp"
+ , "source/Irrlicht/CZBuffer.cpp"
+ , "source/Irrlicht/COpenGLDriver.cpp"
+ , "source/Irrlicht/COpenGLExtensionHandler.cpp"
+ , "source/Irrlicht/COpenGLNormalMapRenderer.cpp"
+ , "source/Irrlicht/COpenGLParallaxMapRenderer.cpp"
+ , "source/Irrlicht/COpenGLShaderMaterialRenderer.cpp"
+ , "source/Irrlicht/COpenGLSLMaterialRenderer.cpp"
+ , "source/Irrlicht/COpenGLTexture.cpp"
+ , "source/Irrlicht/CD3D8Driver.cpp"
+ , "source/Irrlicht/CD3D8NormalMapRenderer.cpp"
+ , "source/Irrlicht/CD3D8ParallaxMapRenderer.cpp"
+ , "source/Irrlicht/CD3D8ShaderMaterialRenderer.cpp"
+ , "source/Irrlicht/CD3D8Texture.cpp"
+ , "source/Irrlicht/CColorConverter.cpp"
+ , "source/Irrlicht/CFPSCounter.cpp"
+ , "source/Irrlicht/CImage.cpp"
+ , "source/Irrlicht/CNullDriver.cpp"
+ , "source/Irrlicht/CImageWriterBMP.cpp"
+ , "source/Irrlicht/CImageWriterJPG.cpp"
+ , "source/Irrlicht/CImageWriterPCX.cpp"
+ , "source/Irrlicht/CImageWriterPNG.cpp"
+ , "source/Irrlicht/CImageWriterPPM.cpp"
+ , "source/Irrlicht/CImageWriterPSD.cpp"
+ , "source/Irrlicht/CImageWriterTGA.cpp"
+ , "source/Irrlicht/CImageLoaderBMP.cpp"
+ , "source/Irrlicht/CImageLoaderDDS.cpp"
+ , "source/Irrlicht/CImageLoaderJPG.cpp"
+ , "source/Irrlicht/CImageLoaderPCX.cpp"
+ , "source/Irrlicht/CImageLoaderPNG.cpp"
+ , "source/Irrlicht/CImageLoaderPPM.cpp"
+ , "source/Irrlicht/CImageLoaderPSD.cpp"
+ , "source/Irrlicht/CImageLoaderRGB.cpp"
+ , "source/Irrlicht/CImageLoaderTGA.cpp"
+ , "source/Irrlicht/CImageLoaderWAL.cpp"
+ , "source/Irrlicht/CD3D9Driver.cpp"
+ , "source/Irrlicht/CD3D9HLSLMaterialRenderer.cpp"
+ , "source/Irrlicht/CD3D9NormalMapRenderer.cpp"
+ , "source/Irrlicht/CD3D9ParallaxMapRenderer.cpp"
+ , "source/Irrlicht/CD3D9ShaderMaterialRenderer.cpp"
+ , "source/Irrlicht/CD3D9Texture.cpp"
+ , "source/Irrlicht/CBurningShader_Raster_Reference.cpp"
+ , "source/Irrlicht/CDepthBuffer.cpp"
+ , "source/Irrlicht/CSoftwareDriver2.cpp"
+ , "source/Irrlicht/CSoftwareTexture2.cpp"
+ , "source/Irrlicht/CTRGouraud2.cpp"
+ , "source/Irrlicht/CTRGouraudAlpha2.cpp"
+ , "source/Irrlicht/CTRGouraudAlphaNoZ2.cpp"
+ , "source/Irrlicht/CTRNormalMap.cpp"
+ , "source/Irrlicht/CTRStencilShadow.cpp"
+ , "source/Irrlicht/CTRTextureBlend.cpp"
+ , "source/Irrlicht/CTRTextureDetailMap2.cpp"
+ , "source/Irrlicht/CTRTextureGouraud2.cpp"
+ , "source/Irrlicht/CTRTextureGouraudAdd2.cpp"
+ , "source/Irrlicht/CTRTextureGouraudAddNoZ2.cpp"
+ , "source/Irrlicht/CTRTextureGouraudAlpha.cpp"
+ , "source/Irrlicht/CTRTextureGouraudAlphaNoZ.cpp"
+ , "source/Irrlicht/CTRTextureGouraudNoZ2.cpp"
+ , "source/Irrlicht/CTRTextureGouraudVertexAlpha2.cpp"
+ , "source/Irrlicht/CTRTextureLightMap2_Add.cpp"
+ , "source/Irrlicht/CTRTextureLightMap2_M1.cpp"
+ , "source/Irrlicht/CTRTextureLightMap2_M2.cpp"
+ , "source/Irrlicht/CTRTextureLightMap2_M4.cpp"
+ , "source/Irrlicht/CTRTextureLightMapGouraud2_M4.cpp"
+ , "source/Irrlicht/CTRTextureWire2.cpp"
+ , "source/Irrlicht/IBurningShader.cpp"
+ , "source/Irrlicht/CLogger.cpp"
+ , "source/Irrlicht/COSOperator.cpp"
+ , "source/Irrlicht/Irrlicht.cpp"
+ , "source/Irrlicht/os.cpp"
+ , "source/Irrlicht/lzma/LzmaDec.c"
+ , "source/Irrlicht/zlib/adler32.c"
+ , "source/Irrlicht/zlib/compress.c"
+ , "source/Irrlicht/zlib/crc32.c"
+ , "source/Irrlicht/zlib/deflate.c"
+ , "source/Irrlicht/zlib/inffast.c"
+ , "source/Irrlicht/zlib/inflate.c"
+ , "source/Irrlicht/zlib/inftrees.c"
+ , "source/Irrlicht/zlib/trees.c"
+ , "source/Irrlicht/zlib/uncompr.c"
+ , "source/Irrlicht/zlib/zutil.c"
+ , "source/Irrlicht/jpeglib/jaricom.c"
+ , "source/Irrlicht/jpeglib/jcapimin.c"
+ , "source/Irrlicht/jpeglib/jcapistd.c"
+ , "source/Irrlicht/jpeglib/jcarith.c"
+ , "source/Irrlicht/jpeglib/jccoefct.c"
+ , "source/Irrlicht/jpeglib/jccolor.c"
+ , "source/Irrlicht/jpeglib/jcdctmgr.c"
+ , "source/Irrlicht/jpeglib/jchuff.c"
+ , "source/Irrlicht/jpeglib/jcinit.c"
+ , "source/Irrlicht/jpeglib/jcmainct.c"
+ , "source/Irrlicht/jpeglib/jcmarker.c"
+ , "source/Irrlicht/jpeglib/jcmaster.c"
+ , "source/Irrlicht/jpeglib/jcomapi.c"
+ , "source/Irrlicht/jpeglib/jcparam.c"
+ , "source/Irrlicht/jpeglib/jcprepct.c"
+ , "source/Irrlicht/jpeglib/jcsample.c"
+ , "source/Irrlicht/jpeglib/jctrans.c"
+ , "source/Irrlicht/jpeglib/jdapimin.c"
+ , "source/Irrlicht/jpeglib/jdapistd.c"
+ , "source/Irrlicht/jpeglib/jdarith.c"
+ , "source/Irrlicht/jpeglib/jdatadst.c"
+ , "source/Irrlicht/jpeglib/jdatasrc.c"
+ , "source/Irrlicht/jpeglib/jdcoefct.c"
+ , "source/Irrlicht/jpeglib/jdcolor.c"
+ , "source/Irrlicht/jpeglib/jddctmgr.c"
+ , "source/Irrlicht/jpeglib/jdhuff.c"
+ , "source/Irrlicht/jpeglib/jdinput.c"
+ , "source/Irrlicht/jpeglib/jdmainct.c"
+ , "source/Irrlicht/jpeglib/jdmarker.c"
+ , "source/Irrlicht/jpeglib/jdmaster.c"
+ , "source/Irrlicht/jpeglib/jdmerge.c"
+ , "source/Irrlicht/jpeglib/jdpostct.c"
+ , "source/Irrlicht/jpeglib/jdsample.c"
+ , "source/Irrlicht/jpeglib/jdtrans.c"
+ , "source/Irrlicht/jpeglib/jerror.c"
+ , "source/Irrlicht/jpeglib/jfdctflt.c"
+ , "source/Irrlicht/jpeglib/jfdctfst.c"
+ , "source/Irrlicht/jpeglib/jfdctint.c"
+ , "source/Irrlicht/jpeglib/jidctflt.c"
+ , "source/Irrlicht/jpeglib/jidctfst.c"
+ , "source/Irrlicht/jpeglib/jidctint.c"
+ , "source/Irrlicht/jpeglib/jmemmgr.c"
+ , "source/Irrlicht/jpeglib/jmemnobs.c"
+ , "source/Irrlicht/jpeglib/jquant1.c"
+ , "source/Irrlicht/jpeglib/jquant2.c"
+ , "source/Irrlicht/jpeglib/jutils.c"
+ , "source/Irrlicht/libpng/png.c"
+ , "source/Irrlicht/libpng/pngerror.c"
+ , "source/Irrlicht/libpng/pngget.c"
+ , "source/Irrlicht/libpng/pngmem.c"
+ , "source/Irrlicht/libpng/pngpread.c"
+ , "source/Irrlicht/libpng/pngread.c"
+ , "source/Irrlicht/libpng/pngrio.c"
+ , "source/Irrlicht/libpng/pngrtran.c"
+ , "source/Irrlicht/libpng/pngrutil.c"
+ , "source/Irrlicht/libpng/pngset.c"
+ , "source/Irrlicht/libpng/pngtrans.c"
+ , "source/Irrlicht/libpng/pngwio.c"
+ , "source/Irrlicht/libpng/pngwrite.c"
+ , "source/Irrlicht/libpng/pngwtran.c"
+ , "source/Irrlicht/libpng/pngwutil.c"
+ , "source/Irrlicht/aesGladman/aescrypt.cpp"
+ , "source/Irrlicht/aesGladman/aeskey.cpp"
+ , "source/Irrlicht/aesGladman/aestab.cpp"
+ , "source/Irrlicht/aesGladman/fileenc.cpp"
+ , "source/Irrlicht/aesGladman/hmac.cpp"
+ , "source/Irrlicht/aesGladman/prng.cpp"
+ , "source/Irrlicht/aesGladman/pwd2key.cpp"
+ , "source/Irrlicht/aesGladman/sha1.cpp"
+ , "source/Irrlicht/aesGladman/sha2.cpp"
+ , "source/Irrlicht/bzip2/blocksort.c"
+ , "source/Irrlicht/bzip2/bzcompress.c"
+ , "source/Irrlicht/bzip2/bzlib.c"
+ , "source/Irrlicht/bzip2/crctable.c"
+ , "source/Irrlicht/bzip2/decompress.c"
+ , "source/Irrlicht/bzip2/huffman.c"
+ , "source/Irrlicht/bzip2/randtable.c"
+ , "source/Irrlicht/CIrrDeviceConsole.cpp"
+ , "source/Irrlicht/CIrrDeviceFB.cpp"
+ , "source/Irrlicht/CIrrDeviceLinux.cpp"
+ , "source/Irrlicht/CIrrDeviceSDL.cpp"
+ , "source/Irrlicht/CIrrDeviceStub.cpp"
+ , "source/Irrlicht/CIrrDeviceWin32.cpp"
+ , "source/Irrlicht/CIrrDeviceWinCE.cpp"
+ , "source/Irrlicht/CAttributes.cpp"
+ , "source/Irrlicht/CFileList.cpp"
+ , "source/Irrlicht/CFileSystem.cpp"
+ , "source/Irrlicht/CLimitReadFile.cpp"
+ , "source/Irrlicht/CMemoryFile.cpp"
+ , "source/Irrlicht/CMountPointReader.cpp"
+ , "source/Irrlicht/CNPKReader.cpp"
+ , "source/Irrlicht/CPakReader.cpp"
+ , "source/Irrlicht/CReadFile.cpp"
+ , "source/Irrlicht/CTarReader.cpp"
+ , "source/Irrlicht/CWADReader.cpp"
+ , "source/Irrlicht/CWriteFile.cpp"
+ , "source/Irrlicht/CXMLReader.cpp"
+ , "source/Irrlicht/CXMLWriter.cpp"
+ , "source/Irrlicht/CZipReader.cpp"
+ , "source/Irrlicht/irrXML.cpp"
+ , "source/Irrlicht/CDefaultGUIElementFactory.cpp"
+ , "source/Irrlicht/CGUIButton.cpp"
+ , "source/Irrlicht/CGUICheckBox.cpp"
+ , "source/Irrlicht/CGUIColorSelectDialog.cpp"
+ , "source/Irrlicht/CGUIComboBox.cpp"
+ , "source/Irrlicht/CGUIContextMenu.cpp"
+ , "source/Irrlicht/CGUIEditBox.cpp"
+ , "source/Irrlicht/CGUIEnvironment.cpp"
+ , "source/Irrlicht/CGUIFileOpenDialog.cpp"
+ , "source/Irrlicht/CGUIFont.cpp"
+ , "source/Irrlicht/CGUIImage.cpp"
+ , "source/Irrlicht/CGUIImageList.cpp"
+ , "source/Irrlicht/CGUIInOutFader.cpp"
+ , "source/Irrlicht/CGUIListBox.cpp"
+ , "source/Irrlicht/CGUIMenu.cpp"
+ , "source/Irrlicht/CGUIMeshViewer.cpp"
+ , "source/Irrlicht/CGUIMessageBox.cpp"
+ , "source/Irrlicht/CGUIModalScreen.cpp"
+ , "source/Irrlicht/CGUIScrollBar.cpp"
+ , "source/Irrlicht/CGUISkin.cpp"
+ , "source/Irrlicht/CGUISpinBox.cpp"
+ , "source/Irrlicht/CGUISpriteBank.cpp"
+ , "source/Irrlicht/CGUIStaticText.cpp"
+ , "source/Irrlicht/CGUITabControl.cpp"
+ , "source/Irrlicht/CGUITable.cpp"
+ , "source/Irrlicht/CGUIToolBar.cpp"
+ , "source/Irrlicht/CGUITreeView.cpp"
+ , "source/Irrlicht/CGUIWindow.cpp"
+ }
+
+ end --}
+
+fun["irrlicht_编译"] = function() --{
+
+ for i = 1, #str["irrlicht_文件表"] do --{
+
+ os.execute(str["irrlicht_编译参数"]
+ .. "./lib/irrlicht/"
+ .. str["irrlicht_文件表"][i])
+
+ end --}
+
+ os.execute("lib /OUT:irrlicht.lib *.obj")
+
+ end --}
+
+fun["irrlicht_清理"] = function() --{
+
+ os.execute("del *.obj")
+
+ end --}
+
+fun["lzma_预处理"] = function() --{
+
+ str["lzma_编译参数"] = "cl "
+ .. "/MD "
+ .. "/O2 "
+ .. "/c "
+
+ end --}
+
+fun["lzma_编译"] = function() --{
+
+ os.execute(str["lzma_编译参数"]
+ .. "./gframe/lzma/*.c")
+
+ os.execute("lib /OUT:clzma.lib *.obj")
+
+ end --}
+
+fun["lzma_清理"] = function() --{
+
+ os.execute("del *.obj")
+
+ end --}
+
+fun["spmemvfs_预处理"] = function() --{
+
+ str["spmemvfs_编译参数"] = "cl "
+ .. "/MD "
+ .. "/O2 "
+ .. "/c "
+ .. "-I " .. lfs.currentdir() .. "/lib/sqlite3 "
+
+ end --}
+
+fun["spmemvfs_编译"] = function() --{
+
+ os.execute(str["spmemvfs_编译参数"]
+ .. "./gframe/spmemvfs/*.c")
+
+ os.execute("lib /OUT:cspmemvfs.lib *.obj")
+
+ end --}
+
+fun["spmemvfs_清理"] = function() --{
+
+ os.execute("del *.obj")
+
+ end --}
+
+fun["ocgcore_预处理"] = function() --{
+
+ str["ocgcore_编译参数"] = "cl "
+ .. "/MD "
+ .. "/O2 "
+ .. "/c "
+ .. "/EHsc "
+ .. "-I " .. lfs.currentdir() .. "/lib/lua/src "
+
+ end --}
+
+fun["ocgcore_编译"] = function() --{
+
+ os.execute(str["ocgcore_编译参数"]
+ .. "./ocgcore/*.cpp")
+
+ os.execute("lib /OUT:ocgcore.lib *.obj")
+
+ end --}
+
+fun["ocgcore_清理"] = function() --{
+
+ os.execute("del *.obj")
+
+ end --}
+
+fun["ygopro_预处理"] = function() --{
+
+ str["ygopro_编译参数"] = "cl "
+ .. "/MD "
+ .. "/O2 "
+ .. "/c "
+ .. "/wd 4819 "
+ .. "/EHsc "
+ .. "/D _IRR_WCHAR_FILESYSTEM "
+ .. "-I " .. lfs.currentdir() .. "/ocgcore "
+ .. "-I " .. lfs.currentdir() .. "/lib/irrlicht/include "
+ .. "-I " .. lfs.currentdir() .. "/lib/event/include "
+ .. "-I " .. lfs.currentdir() .. "/lib/freetype/include "
+ .. "-I " .. lfs.currentdir() .. "/lib/sqlite3 "
+
+ end --}
+
+fun["ygopro_编译"] = function() --{
+
+ os.execute(str["ygopro_编译参数"]
+ .. "./gframe/*.cpp")
+
+ os.rename("gframe.obj", "gframe.o")
+
+ os.execute("lib /OUT:ygopro.lib *.obj")
+
+ end --}
+
+fun["ygopro_连接"] = function() --{
+
+ os.execute("link "
+ .. "/OUT:ygopro.exe "
+ .. "gframe.o "
+ .. "ygopro.lib "
+ .. "clzma.lib "
+ .. "cspmemvfs.lib "
+ .. "event.lib "
+ .. "freetype.lib "
+ .. "irrlicht.lib "
+ .. "lua.lib "
+ .. "ocgcore.lib "
+ .. "sqlite3.lib "
+ .. "gdi32.lib "
+ .. "user32.lib "
+ .. "kernel32.lib "
+ .. "imm32.lib "
+ .. "winmm.lib "
+ .. "ws2_32.lib "
+ .. "opengl32.lib "
+ .. "shell32.lib "
+ .. "iphlpapi.lib "
+ .. "advapi32.lib "
+ )
+
+ end --}
+
+fun["ygopro_清理"] = function() --{
+
+ os.execute("del *.obj")
+
+ os.execute("del *.o")
+
+ end --}
+
+--高层--------------------
+
+fun["lua"] = function() --{
+
+ fun["lua_预处理"]()
+
+ fun["lua_编译"]()
+
+ fun["lua_清理"]()
+
+ end --}
+
+fun["sqlite3"] = function() --{
+
+ fun["sqlite3_预处理"]()
+
+ fun["sqlite3_编译"]()
+
+ fun["sqlite3_清理"]()
+
+ end --}
+
+fun["freetype"] = function() --{
+
+ fun["freetype_预处理"]()
+
+ fun["freetype_编译"]()
+
+ fun["freetype_清理"]()
+
+ end --}
+
+fun["libevent"] = function() --{
+
+ fun["libevent_预处理"]()
+
+ fun["libevent_编译"]()
+
+ fun["libevent_清理"]()
+
+ end --}
+
+fun["irrlicht"] = function() --{
+
+ fun["irrlicht_预处理"]()
+
+ fun["irrlicht_编译"]()
+
+ fun["irrlicht_清理"]()
+
+ end --}
+
+fun["lzma"] = function() --{
+
+ fun["lzma_预处理"]()
+
+ fun["lzma_编译"]()
+
+ fun["lzma_清理"]()
+
+ end --}
+
+fun["spmemvfs"] = function() --{
+
+ fun["spmemvfs_预处理"]()
+
+ fun["spmemvfs_编译"]()
+
+ fun["spmemvfs_清理"]()
+
+ end --}
+
+fun["ocgcore"] = function() --{
+
+ fun["ocgcore_预处理"]()
+
+ fun["ocgcore_编译"]()
+
+ fun["ocgcore_清理"]()
+
+ end --}
+
+fun["ygopro"] = function() --{
+
+ fun["ygopro_预处理"]()
+
+ fun["ygopro_编译"]()
+
+ fun["ygopro_连接"]()
+
+ fun["ygopro_清理"]()
+
+ end --}
+
+-------------------------
+
+fun["lua"]()
+
+fun["sqlite3"]()
+
+fun["freetype"]()
+
+fun["libevent"]()
+
+fun["irrlicht"]()
+
+fun["lzma"]()
+
+fun["spmemvfs"]()
+
+fun["ocgcore"]()
+
+fun["ygopro"]()
+这样子编译的 ygopro 还缺一些媒体资源,从你的 ygopro +中直接复制过来就行。
+不支持声音,小问题。
+不支持打人机卡组,小问题。
+没有图标,小问题。
+不支持中文输入法,大问题,不过我的输入法不受影响,哈哈。