91 lines
3.3 KiB
Batchfile
91 lines
3.3 KiB
Batchfile
@echo off
|
||
|
||
REM
|
||
REM mksample - update the sample directories
|
||
REM
|
||
|
||
setlocal
|
||
set __TEST_MODE__=
|
||
set __BASE_SAMPLE_DIR__=%_NTDRIVE%\nt\private\net\sockets\internet\sdk\samples
|
||
set __SAMPLE_SOURCE_DIR__=%__BASE_SAMPLE_DIR__%\%2
|
||
set __SAMPLE_BINARY_DIR__=%__BASE_SAMPLE_DIR__%\%2\obj\%3
|
||
set __TARGET_SOURCE_DIR__=%1\%2
|
||
set __TARGET_BINARY_DIR__=%1\%2\%3
|
||
set __OUTPUT_STREAM__=>NUL
|
||
set __DELETE_COMMAND__=del /q
|
||
set __COPY_COMMAND__=copy
|
||
set __C_FILES__=%__SAMPLE_SOURCE_DIR__%\*.c*
|
||
set __H_FILES__=%__SAMPLE_SOURCE_DIR__%\*.h*
|
||
set __RC_FILES__=%__SAMPLE_SOURCE_DIR__%\*.rc
|
||
set __MAKE_FILES__=%__SAMPLE_SOURCE_DIR__%\makefil* %__SAMPLE_SOURCE_DIR__%\sources*
|
||
set __BINARY_FILES__=%__SAMPLE_BINARY_DIR__%\*.exe %__SAMPLE_BINARY_DIR__%\*.dll
|
||
set __SOURCE_SET__=(%__C_FILES__% %__H_FILES__% %__RC_FILES__% %__MAKE_FILES__%)
|
||
set __BINARY_SET__=(%__BINARY_FILES__%)
|
||
|
||
if "%1"=="" goto usage
|
||
if "%2"=="" goto usage
|
||
if "%3"=="" goto usage
|
||
|
||
if exist %1\ goto check2
|
||
echo error: %1 does not exist
|
||
goto usage
|
||
|
||
:check2
|
||
if exist %__SAMPLE_SOURCE_DIR__% goto check3
|
||
echo error: %__SAMPLE_SOURCE_DIR__% does not exist
|
||
goto usage
|
||
|
||
:check3
|
||
if %3==i386 goto check4
|
||
if %3==mips goto check4
|
||
if %3==ppc goto check4
|
||
if %3==alpha goto check4
|
||
echo error: platform %3 not recognized
|
||
goto usage
|
||
|
||
:check4
|
||
if "%4"=="" goto ok
|
||
if not "%4"=="test" echo error: 4th argument can be "test" only & goto usage
|
||
set __TEST_MODE__=1
|
||
set __OUTPUT_STREAM__=
|
||
set __DELETE_COMMAND__=echo test: %__DELETE_COMMAND__%
|
||
set __COPY_COMMAND__=echo test: %__COPY_COMMAND__%
|
||
rem echo on
|
||
|
||
:ok
|
||
echo creating target subdirectories
|
||
md %__TARGET_SOURCE_DIR__% %__OUTPUT_STREAM__%
|
||
md %__TARGET_BINARY_DIR__% %__OUTPUT_STREAM__%
|
||
|
||
REM
|
||
REM since source is same for all platforms, we only copy source if the
|
||
REM platform is i386 (i.e. we assume it to be the first platform, but
|
||
REM it doesn't matter, so long as x86 mkdev/mksample is run before the
|
||
REM files are released)
|
||
REM
|
||
|
||
if not %3==i386 goto delete_and_copy_bins
|
||
echo deleting old contents of %__TARGET_SOURCE_DIR__%...
|
||
%__DELETE_COMMAND__% %__TARGET_SOURCE_DIR__% %__OUTPUT_STREAM__%
|
||
echo copying source...
|
||
for %%f in %__SOURCE_SET__% do %__COPY_COMMAND__% %%f %__TARGET_SOURCE_DIR__% %__OUTPUT_STREAM__%
|
||
|
||
:delete_and_copy_bins
|
||
echo deleting old contents of %__TARGET_BINARY_DIR__%...
|
||
%__DELETE_COMMAND__% %__TARGET_BINARY_DIR__% %__OUTPUT_STREAM__%
|
||
echo copying binaries...
|
||
for %%f in %__BINARY_SET__% do %__COPY_COMMAND__% %%f %__TARGET_BINARY_DIR__% %__OUTPUT_STREAM__%
|
||
goto end
|
||
|
||
:usage
|
||
echo usage: mksample ^<server dir^> ^<sample dir^> ^<platform^>
|
||
echo where: platform can be i386 <20> mips <20> ppc <20> alpha (case is SIGNIFICANT)
|
||
echo.
|
||
echo e.g.: mksample \\foo\bar\dev\sdk\samples ftp i386
|
||
echo where: \\foo\bar\dev\sdk\samples is the root of the target samples directory
|
||
echo ftp is the relative name of the sample directory on this machine
|
||
echo i386 is the target platform
|
||
|
||
:end
|
||
endlocal
|