makeos2.cmd
author Ryan C. Gordon <icculus@icculus.org>
Sat, 28 Mar 2009 18:14:16 -0400
changeset 977 5a2f49a5f804
parent 972 254427fc42ab
child 982 9cf864f89c02
permissions -rw-r--r--
Improved globbing extra. Fixed FIXMEs, improved documentation, updated for 2.1 API.

@echo off
rem this is a simple batch file to build PhysicsFS on OS/2. You need to have
rem  the Innotek libc and GCC (or "kLIBC") installed for this to work:
rem
rem     http://svn.netlabs.org/libc
rem
rem This script (and, indeed, our OS/2 support) could use some tweaking.
rem  Patches go to icculus@icculus.org ...

set PHYSFSLANG=PHYSFS_LANG_ENGLISH
set DEBUGFLAGS=-D_NDEBUG -O2 -s
rem set CFLAGS=%DEBUGFLAGS% -Wall -Werror -Zomf -Zmt -Zmtd -I. -Izlib123 -c -D__ST_MT_ERRNO__ -DOS2 -DZ_PREFIX -DPHYSFS_SUPPORTS_ZIP -DPHYSFS_SUPPORTS_7Z -DPHYSFS_SUPPORTS_GRP -DPHYSFS_SUPPORTS_WAD -DPHYSFS_SUPPORTS_QPAK -DPHYSFS_SUPPORTS_HOG -DPHYSFS_SUPPORTS_MVL -DPHYSFS_LANG=%PHYSFSLANG% -DHAVE_ASSERT_H
set CFLAGS=%DEBUGFLAGS% -Wall -Werror -Zomf -I. -Iz -c -D__ST_MT_ERRNO__ -DOS2 -DZ_PREFIX -DPHYSFS_SUPPORTS_ZIP -DPHYSFS_SUPPORTS_7Z -DPHYSFS_SUPPORTS_GRP -DPHYSFS_SUPPORTS_WAD -DPHYSFS_SUPPORTS_QPAK -DPHYSFS_SUPPORTS_HOG -DPHYSFS_SUPPORTS_MVL -DHAVE_ASSERT_H

rem goto :dolinking

@echo cleaning up any previous build...
@mkdir bin 2>NUL
@erase /N bin\*.* 2>NUL

@echo Building export definitions...
@echo ;don't edit this directly! It is rewritten by makeos2.cmd! > bin\test_physfs.def
@echo NAME TESTPHYSFS WINDOWCOMPAT >> bin\test_physfs.def
@echo DESCRIPTION 'PhysicsFS: http://icculus.org/physfs/' >> bin\test_physfs.def
@echo STACKSIZE 0x10000 >> bin\test_physfs.def
@echo BASE=0x10000 >> bin\test_physfs.def
@echo PROTMODE >> bin\test_physfs.def

@echo ;don't edit this directly! It is rewritten by makeos2.cmd! > bin\physfs.def
@echo LIBRARY 'physfs' INITINSTANCE TERMINSTANCE >> bin\physfs.def
@echo STACKSIZE 0x10000 >> bin\physfs.def
@echo CODE LOADONCALL >> bin\physfs.def
@echo DATA LOADONCALL NONSHARED MULTIPLE >> bin\physfs.def
@echo DESCRIPTION 'PhysicsFS: http://icculus.org/physfs/' >> bin\physfs.def
@echo EXPORTS >> bin\physfs.def
@echo "_PHYSFS_getLinkedVersion" >> bin\physfs.def
@echo "_PHYSFS_init" >> bin\physfs.def
@echo "_PHYSFS_deinit" >> bin\physfs.def
@echo "_PHYSFS_isInit" >> bin\physfs.def
@echo "_PHYSFS_supportedArchiveTypes" >> bin\physfs.def
@echo "_PHYSFS_freeList" >> bin\physfs.def
@echo "_PHYSFS_getLastError" >> bin\physfs.def
@echo "_PHYSFS_getDirSeparator" >> bin\physfs.def
@echo "_PHYSFS_permitSymbolicLinks" >> bin\physfs.def
@echo "_PHYSFS_symbolicLinksPermitted" >> bin\physfs.def
@echo "_PHYSFS_getCdRomDirs" >> bin\physfs.def
@echo "_PHYSFS_getBaseDir" >> bin\physfs.def
@echo "_PHYSFS_getUserDir" >> bin\physfs.def
@echo "_PHYSFS_getWriteDir" >> bin\physfs.def
@echo "_PHYSFS_setWriteDir" >> bin\physfs.def
@echo "_PHYSFS_addToSearchPath" >> bin\physfs.def
@echo "_PHYSFS_removeFromSearchPath" >> bin\physfs.def
@echo "_PHYSFS_getSearchPath" >> bin\physfs.def
@echo "_PHYSFS_setSaneConfig" >> bin\physfs.def
@echo "_PHYSFS_mkdir" >> bin\physfs.def
@echo "_PHYSFS_delete" >> bin\physfs.def
@echo "_PHYSFS_getRealDir" >> bin\physfs.def
@echo "_PHYSFS_enumerateFiles" >> bin\physfs.def
@echo "_PHYSFS_exists" >> bin\physfs.def
@echo "_PHYSFS_isDirectory" >> bin\physfs.def
@echo "_PHYSFS_isSymbolicLink" >> bin\physfs.def
@echo "_PHYSFS_openWrite" >> bin\physfs.def
@echo "_PHYSFS_openAppend" >> bin\physfs.def
@echo "_PHYSFS_openRead" >> bin\physfs.def
@echo "_PHYSFS_close" >> bin\physfs.def
@echo "_PHYSFS_read" >> bin\physfs.def
@echo "_PHYSFS_write" >> bin\physfs.def
@echo "_PHYSFS_eof" >> bin\physfs.def
@echo "_PHYSFS_tell" >> bin\physfs.def
@echo "_PHYSFS_seek" >> bin\physfs.def
@echo "_PHYSFS_fileLength" >> bin\physfs.def
@echo "_PHYSFS_swapSLE16" >> bin\physfs.def
@echo "_PHYSFS_swapULE16" >> bin\physfs.def
@echo "_PHYSFS_swapSLE32" >> bin\physfs.def
@echo "_PHYSFS_swapULE32" >> bin\physfs.def
@echo "_PHYSFS_swapSLE64" >> bin\physfs.def
@echo "_PHYSFS_swapULE64" >> bin\physfs.def
@echo "_PHYSFS_swapSBE16" >> bin\physfs.def
@echo "_PHYSFS_swapUBE16" >> bin\physfs.def
@echo "_PHYSFS_swapSBE32" >> bin\physfs.def
@echo "_PHYSFS_swapUBE32" >> bin\physfs.def
@echo "_PHYSFS_swapSBE64" >> bin\physfs.def
@echo "_PHYSFS_swapUBE64" >> bin\physfs.def
@echo "_PHYSFS_getLastModTime" >> bin\physfs.def
@echo "_PHYSFS_readSLE16" >> bin\physfs.def
@echo "_PHYSFS_readULE16" >> bin\physfs.def
@echo "_PHYSFS_readSLE32" >> bin\physfs.def
@echo "_PHYSFS_readULE32" >> bin\physfs.def
@echo "_PHYSFS_readSLE64" >> bin\physfs.def
@echo "_PHYSFS_readULE64" >> bin\physfs.def
@echo "_PHYSFS_readSBE16" >> bin\physfs.def
@echo "_PHYSFS_readUBE16" >> bin\physfs.def
@echo "_PHYSFS_readSBE32" >> bin\physfs.def
@echo "_PHYSFS_readUBE32" >> bin\physfs.def
@echo "_PHYSFS_readSBE64" >> bin\physfs.def
@echo "_PHYSFS_readUBE64" >> bin\physfs.def
@echo "_PHYSFS_writeSLE16" >> bin\physfs.def
@echo "_PHYSFS_writeULE16" >> bin\physfs.def
@echo "_PHYSFS_writeSLE32" >> bin\physfs.def
@echo "_PHYSFS_writeULE32" >> bin\physfs.def
@echo "_PHYSFS_writeSLE64" >> bin\physfs.def
@echo "_PHYSFS_writeULE64" >> bin\physfs.def
@echo "_PHYSFS_writeSBE16" >> bin\physfs.def
@echo "_PHYSFS_writeUBE16" >> bin\physfs.def
@echo "_PHYSFS_writeSBE32" >> bin\physfs.def
@echo "_PHYSFS_writeUBE32" >> bin\physfs.def
@echo "_PHYSFS_writeSBE64" >> bin\physfs.def
@echo "_PHYSFS_writeUBE64" >> bin\physfs.def
@echo "_PHYSFS_setBuffer" >> bin\physfs.def
@echo "_PHYSFS_flush" >> bin\physfs.def
@echo "_PHYSFS_mount" >> bin\physfs.def
@echo "_PHYSFS_getMountPoint" >> bin\physfs.def
@echo "_PHYSFS_setAllocator" >> bin\physfs.def
@echo "_PHYSFS_getCdRomDirsCallback" >> bin\physfs.def
@echo "_PHYSFS_getSearchPathCallback" >> bin\physfs.def
@echo "_PHYSFS_enumerateFilesCallback" >> bin\physfs.def
@echo "_PHYSFS_utf8ToUcs2" >> bin\physfs.def
@echo "_PHYSFS_utf8FromUcs2" >> bin\physfs.def
@echo "_PHYSFS_utf8ToUcs4" >> bin\physfs.def
@echo "_PHYSFS_utf8FromUcs4" >> bin\physfs.def
@echo "_PHYSFS_utf8FromLatin1" >> bin\physfs.def

@echo Building export library...
emximp -o bin/physfs.lib bin/physfs.def
emximp -o bin/physfs.a bin/physfs.def

@echo Compiling PhysicsFS library...
@echo on
gcc %CFLAGS% -o bin/physfs.obj src/physfs.c
gcc %CFLAGS% -o bin/physfs_byteorder.obj src/physfs_byteorder.c
gcc %CFLAGS% -o bin/physfs_unicode.obj src/physfs_unicode.c
gcc %CFLAGS% -o bin/os2.obj src/platform/os2.c
gcc %CFLAGS% -o bin/dir.obj src/archivers/dir.c
gcc %CFLAGS% -o bin/grp.obj src/archivers/grp.c
gcc %CFLAGS% -o bin/wad.obj src/archivers/wad.c
gcc %CFLAGS% -o bin/lzma.obj src/archivers/lzma.c
gcc %CFLAGS% -o bin/zip.obj src/archivers/zip.c
gcc %CFLAGS% -o bin/qpak.obj src/archivers/qpak.c
gcc %CFLAGS% -o bin/hog.obj src/archivers/hog.c
gcc %CFLAGS% -o bin/mvl.obj src/archivers/mvl.c
gcc %CFLAGS% -o bin/adler32.obj src/zlib123/adler32.c
gcc %CFLAGS% -o bin/compress.obj src/zlib123/compress.c
gcc %CFLAGS% -o bin/crc32.obj src/zlib123/crc32.c
gcc %CFLAGS% -o bin/deflate.obj src/zlib123/deflate.c
gcc %CFLAGS% -o bin/gzio.obj src/zlib123/gzio.c
gcc %CFLAGS% -o bin/infback.obj src/zlib123/infback.c
gcc %CFLAGS% -o bin/inffast.obj src/zlib123/inffast.c
gcc %CFLAGS% -o bin/inflate.obj src/zlib123/inflate.c
gcc %CFLAGS% -o bin/inftrees.obj src/zlib123/inftrees.c
gcc %CFLAGS% -o bin/trees.obj src/zlib123/trees.c
gcc %CFLAGS% -o bin/uncompr.obj src/zlib123/uncompr.c
gcc %CFLAGS% -o bin/zutil.obj src/zlib123/zutil.c
gcc %CFLAGS% -o bin/7zBuffer.obj src/lzma/7zBuffer.c
gcc %CFLAGS% -o bin/7zCrc.obj src/lzma/7zCrc.c
gcc %CFLAGS% -o bin/7zDecode.obj src/lzma/7zDecode.c
gcc %CFLAGS% -o bin/7zExtract.obj src/lzma/7zExtract.c
gcc %CFLAGS% -o bin/7zHeader.obj src/lzma/7zHeader.c
gcc %CFLAGS% -o bin/7zIn.obj src/lzma/7zIn.c
gcc %CFLAGS% -o bin/7zItem.obj src/lzma/7zItem.c
gcc %CFLAGS% -o bin/7zMethodID.obj src/lzma/7zMethodID.c
gcc %CFLAGS% -o bin/LzmaDecode.obj src/lzma/LzmaDecode.c
gcc %CFLAGS% -o bin/LzmaStateDecode.obj src/lzma/LzmaStateDecode.c
@echo off

:dolinking
@echo Linking PhysicsFS library...
gcc %DEBUGFLAGS% -Zdll -Zcrtdll -Zomf -o bin/physfs.dll bin/*.obj bin/physfs.def

rem goto :builddone

@echo Compiling test program...
gcc %CFLAGS% -o bin/test_physfs.obj test/test_physfs.c
@echo Linking test program...
gcc %DEBUGFLAGS% -Zomf -Zcrtdll -o bin/test_physfs.exe bin/test_physfs.obj bin/physfs.lib bin/test_physfs.def

:builddone

@echo "All done!"

rem end of makeos2.cmd ...