test_nm.bat
1 @echo off 2 set FILTER=cat 3 set Y=0 4 if /i "%1"=="Y" ( 5 set Y=1 6 set EXE=yasm.exe 7 set OPT2=-DUSE_YASM -DXBYAK32 8 set OPT3=win32 9 ) else if /i "%1"=="64" ( 10 set EXE=nasm.exe 11 set OPT2=-DXBYAK64 12 set OPT3=win64 13 set FILTER=normalize_prefix 14 ) else if /i "%1"=="Y64" ( 15 set Y=1 16 set EXE=yasm.exe 17 set OPT2=-DUSE_YASM -DXBYAK64 18 set OPT3=win64 19 set FILTER=normalize_prefix 20 ) else if /i "%1"=="noexcept" ( 21 set EXE=nasm.exe 22 set OPT2=-DXBYAK32 -DXBYAK_NO_EXCEPTION 23 set OPT3=win32 24 ) else ( 25 set EXE=nasm.exe 26 set OPT2=-DXBYAK32 27 set OPT3=win32 28 ) 29 call set_opt 30 bmake -f Makefile.win all 31 echo cl -I../ make_nm.cpp %OPT% %OPT2% /EHs 32 cl -I../ make_nm.cpp %OPT% %OPT2% /EHs 33 make_nm > a.asm 34 rm -rf a.lst 35 echo %EXE% -f %OPT3% -l a.lst a.asm 36 %EXE% -f %OPT3% -l a.lst a.asm 37 rem connect "?????-" and "??" 38 if /i "%Y%"=="1" ( 39 awk "NR > 1 {if (index($3, ""-"")) { conti=substr($3, 0, length($3) - 1) } else { conti = conti $3; print conti; conti = """" }} " < a.lst |%FILTER% > ok.lst 40 ) else ( 41 awk "{if (index($3, ""-"")) { conti=substr($3, 0, length($3) - 1) } else { conti = conti $3; print conti; conti = """" }} " < a.lst |%FILTER% > ok.lst 42 ) 43 make_nm jit > nm.cpp 44 cl -I../ -DXBYAK_TEST nm_frame.cpp %OPT% %OPT2% 45 nm_frame |%FILTER% > x.lst 46 diff -wb x.lst ok.lst && echo "ok"