nasm/doc/makedocs.bat
Charles Crayne c17a0eb31b Add autogenerated instruction list to NASM documentation
1. Allow included files in rdsrc.pl
2. New program inslist.pl to generate instruction list from insns.dat
3. Mark certain comments in insns.dat as documentation subheaders
4. Add Instruction List appendix to nasmdoc.src
5. Update build process to invoke inslist.pl
2008-01-20 16:27:03 -08:00

255 lines
4.9 KiB
Batchfile

@echo off
if "%1"=="clean" goto makeclean
if "%1"=="CLEAN" goto makeclean
if "%1"=="spotless" goto spotless
if "%1"=="SPOTLESS" goto spotless
if "%1"=="install" goto install
if "%1"=="INSTALL" goto install
cls
echo.
echo.
echo.
echo Usage:
echo.
echo makedocs - no parameters - makes all Docs
echo makedocs install - installs already made docs in subdirectories
echo makedocs clean - removes docs from current directory
echo makedocs spotless - removes all - including default install dirs
echo.
echo.
echo.
echo.
echo Makedocs(.bat), with no parameters will create Nasm Documentation
echo in several formats: plain ascii text, ps, html, rtf, Windows help
echo format, and if you've got an "info" system installed, info format.
echo.
echo.
echo This requires Perl, and almost 4MB disk space.
echo.
echo.
choice " Proceed with making docs? "
if errorlevel 2 goto exit
:makeall
echo.
echo.
echo This takes a while. Stretch!
echo.
echo.
perl inslist.pl
perl rdsrc.pl<nasmdoc.src
echo.
echo.
choice " Make *info* files? "
if errorlevel 2 goto noinfo
:makeinfo
echo.
echo.
makeinfo nasmdoc.tex
:noinfo
:install
if not exist nasmdoc.txt goto nofiles
if not exist nasmdoc0.htm goto nofiles
if not exist nasmdo10.htm goto nofiles
if not exist nasmdoc.hpj goto nofiles
if not exist nasmdoc.rtf goto nofiles
if not exist nasmdoc.ps goto nofiles
if not exist nasmdoc.tex goto nofiles
goto gotfiles
:nofiles
echo.
echo.
echo.
echo.
echo Alert! Files missing!
echo.
echo.
choice " Would you like to make them now? "
if errorlevel 2 goto exit
goto makeall
:gotfiles
:: get current path
set oldprompt=%prompt%
echo @prompt set nasdoc=$p>temp1.bat
command /c temp1.bat>temp2.bat
call temp2
del temp1.bat
del temp2.bat
set prompt=%oldprompt%
set oldprompt=
echo.
echo.
echo.
echo.
echo Current Directory is %nasdoc%
echo Nasm Documentation will be installed under this
echo as %nasdoc%\text\nasmdoc.txt, etc.
echo.
echo.
choice " Change this directory? "
if errorlevel 2 goto dirok
echo.
echo.
echo.
echo.
echo Directory *above* the directory you name (at least) should exist.
echo Nasm documentation will be installed *under* the directory you
echo name. E.G. \docs\nasm\html, etc. No trailing backslash!
echo.
echo.
echo Enter new name for base directory:
set input=
fc con nul /lb1 /n|date|find "1:">magic.bat
echo set input=%%5>enter.bat
call magic
set nasdoc=%input%
del magic.bat
del enter.bat
set input=
echo.
echo.
md %nasdoc%
echo.
echo.
choice " Install Text docs in %nasdoc%\text ? "
if errorlevel 2 goto notext
md %nasdoc%\text
copy nasmdoc.txt %nasdoc%\text
:notext
choice " Install Html docs in %nasdoc%\html ? "
if errorlevel 2 goto nohtml
md %nasdoc%\html
copy *.htm %nasdoc%\html
:nohtml
choice " Install Info docs in %nasdoc%\info ? "
if errorlevel 2 goto noinfodocs
if not exist nasm.inf goto inofiles
if not exist nasm.i9 goto inofiles
goto gotifiles
:inofiles
echo.
echo.
echo Alert! Files missing!
echo.
echo.
choice " Would you like to make them now? "
if errorlevel 2 goto noinfodocs
if not exist nasmdoc.tex goto makeall
goto makeinfo
:gotifiles
md %nasdoc%\info
copy nasm.i* %nasdoc%\info
:noinfodocs
choice " Install Winhelp docs in %nasdoc%\winhelp ? "
if errorlevel 2 goto nowinhelp
md %nasdoc%\winhelp
copy nasmdoc.rtf %nasdoc%\winhelp
copy nasmdoc.hpj %nasdoc%\winhelp
:nowinhelp
choice " Install Postscript docs in %nasdoc%\ps ? "
if errorlevel 2 goto nops
md %nasdoc%\ps
copy nasmdoc.ps %nasdoc%\ps
:nops
goto cleanup
:dirok
choice " Install Text docs in .\text ? "
if errorlevel 2 goto notext2
md text
copy nasmdoc.txt text
:notext2
choice " Install Html docs in .\html ? "
if errorlevel 2 goto nohtml2
md html
copy *.htm html
:nohtml2
choice " Install Info docs in .\info ? "
if errorlevel 2 goto nid2
if not exist nasm.inf goto inof2
if not exist nasm.i9 goto inof2
goto gifiles2
:inof2
echo.
echo.
echo Alert! Files missing!
echo.
echo.
choice " Would you like to make them now? "
if errorlevel 2 goto nid2
if not exist nasmdoc.tex goto makeall
goto makeinfo
:gifiles2
md info
copy nasm.i* info
:nid2
choice " Install Winhelp docs in .\winhelp ? "
if errorlevel 2 goto nwhelp2
md winhelp
copy nasmdoc.rtf winhelp
copy nasmdoc.hpj winhelp
:nwhelp2
choice " Install Postscript docs in .\ps ? "
if errorlevel 2 goto nops2
md ps
copy nasmdoc.ps ps
:nops2
:cleanup
set nasdoc=
echo.
echo.
echo.
echo.
choice " Remove all files created, but not installed?"
if not errorlevel 2 goto makeclean
goto exit
:spotless
deltree /y text
deltree /y html
deltree /y info
deltree /y winhelp
deltree /y ps
:makeclean
del *.htm
del *.rtf
del *.hpj
del *.txt
del *.tex
del *.ps
del nasm.i*
:exit