Nmap Development mailing list archives

Re: ncat's "make all"


From: Jacek Wielemborek <wielemborekj1 () gmail com>
Date: Sat, 7 Sep 2013 19:14:05 +0200

2013/9/7 David Fifield <david () bamsoftware com>:
On Thu, Sep 05, 2013 at 07:00:23PM +0200, Jacek Wielemborek wrote:
When building Ncat on my netbook, I noticed it takes quite a lot of
time to compile it because every object file change not only implies
rebuilding the file and relinking the executable, but also test
executables. Perhaps it would be a good idea to create an optional
target "make tests" and skip building the tests when a bare "make"
command is called? That would speed up building, though at the cost of
not seeing the newly introduced build errors for tests.

What's the percentage of time used to build the tests versus other
things?

[d33tah-pc][/media/shared/ncat/ncat-sa-take2/ncat] $ make clean all
2>&1 | ruby -e 'start = now = Time.now() ; loop { l = STDIN.readline ;
printf("%0.3f %0.3f %s",Time.now() - start, Time.now() - now, l) ; now
= Time.now() }'
0.000 0.000 rm -f -f *.o test/*.o ncat test/addrset test/test-uri
test/test-cmdline-split test/test-wildcard
0.000 0.000 cd ../liblua && make clean
0.000 0.000 make[1]: Entering directory
`/media/shared/ncat/ncat-sa-take2/liblua'
0.000 0.000 rm -f liblua.a lua luac lapi.o lcode.o lctype.o ldebug.o
ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o
lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o
lauxlib.o lbaselib.o lbitlib.o lcorolib.o ldblib.o liolib.o lmathlib.o
loslib.o lstrlib.o ltablib.o loadlib.o linit.o  lua.o luac.o
0.008 0.008 make[1]: Leaving directory `/media/shared/ncat/ncat-sa-take2/liblua'
0.012 0.003 Compiling liblua
0.016 0.005 make[1]: Entering directory
`/media/shared/ncat/ncat-sa-take2/liblua'
0.016 0.000 gcc -O2 -Wall  -g -O2 -Wall -DLUA_USE_POSIX
-DLUA_USE_DLOPEN -DHAVE_LUA=1 -I../liblua   -c -o lapi.o lapi.c
0.038 0.022 gcc -O2 -Wall  -g -O2 -Wall -DLUA_USE_POSIX
-DLUA_USE_DLOPEN -DHAVE_LUA=1 -I../liblua   -c -o lcode.o lcode.c
0.054 0.016 gcc -O2 -Wall  -g -O2 -Wall -DLUA_USE_POSIX
-DLUA_USE_DLOPEN -DHAVE_LUA=1 -I../liblua   -c -o lctype.o lctype.c
0.059 0.005 gcc -O2 -Wall  -g -O2 -Wall -DLUA_USE_POSIX
-DLUA_USE_DLOPEN -DHAVE_LUA=1 -I../liblua   -c -o ldebug.o ldebug.c
0.076 0.017 gcc -O2 -Wall  -g -O2 -Wall -DLUA_USE_POSIX
-DLUA_USE_DLOPEN -DHAVE_LUA=1 -I../liblua   -c -o ldo.o ldo.c
0.094 0.018 gcc -O2 -Wall  -g -O2 -Wall -DLUA_USE_POSIX
-DLUA_USE_DLOPEN -DHAVE_LUA=1 -I../liblua   -c -o ldump.o ldump.c
0.102 0.008 gcc -O2 -Wall  -g -O2 -Wall -DLUA_USE_POSIX
-DLUA_USE_DLOPEN -DHAVE_LUA=1 -I../liblua   -c -o lfunc.o lfunc.c
0.109 0.008 gcc -O2 -Wall  -g -O2 -Wall -DLUA_USE_POSIX
-DLUA_USE_DLOPEN -DHAVE_LUA=1 -I../liblua   -c -o lgc.o lgc.c
0.120 0.010 gcc -O2 -Wall  -g -O2 -Wall -DLUA_USE_POSIX
-DLUA_USE_DLOPEN -DHAVE_LUA=1 -I../liblua   -c -o llex.o llex.c
0.131 0.011 gcc -O2 -Wall  -g -O2 -Wall -DLUA_USE_POSIX
-DLUA_USE_DLOPEN -DHAVE_LUA=1 -I../liblua   -c -o lmem.o lmem.c
0.140 0.009 gcc -O2 -Wall  -g -O2 -Wall -DLUA_USE_POSIX
-DLUA_USE_DLOPEN -DHAVE_LUA=1 -I../liblua   -c -o lobject.o lobject.c
0.152 0.012 gcc -O2 -Wall  -g -O2 -Wall -DLUA_USE_POSIX
-DLUA_USE_DLOPEN -DHAVE_LUA=1 -I../liblua   -c -o lopcodes.o
lopcodes.c
0.158 0.005 gcc -O2 -Wall  -g -O2 -Wall -DLUA_USE_POSIX
-DLUA_USE_DLOPEN -DHAVE_LUA=1 -I../liblua   -c -o lparser.o lparser.c
0.179 0.021 gcc -O2 -Wall  -g -O2 -Wall -DLUA_USE_POSIX
-DLUA_USE_DLOPEN -DHAVE_LUA=1 -I../liblua   -c -o lstate.o lstate.c
0.191 0.012 gcc -O2 -Wall  -g -O2 -Wall -DLUA_USE_POSIX
-DLUA_USE_DLOPEN -DHAVE_LUA=1 -I../liblua   -c -o lstring.o lstring.c
0.200 0.009 gcc -O2 -Wall  -g -O2 -Wall -DLUA_USE_POSIX
-DLUA_USE_DLOPEN -DHAVE_LUA=1 -I../liblua   -c -o ltable.o ltable.c
0.210 0.010 gcc -O2 -Wall  -g -O2 -Wall -DLUA_USE_POSIX
-DLUA_USE_DLOPEN -DHAVE_LUA=1 -I../liblua   -c -o ltm.o ltm.c
0.219 0.009 gcc -O2 -Wall  -g -O2 -Wall -DLUA_USE_POSIX
-DLUA_USE_DLOPEN -DHAVE_LUA=1 -I../liblua   -c -o lundump.o lundump.c
0.232 0.013 gcc -O2 -Wall  -g -O2 -Wall -DLUA_USE_POSIX
-DLUA_USE_DLOPEN -DHAVE_LUA=1 -I../liblua   -c -o lvm.o lvm.c
0.245 0.013 gcc -O2 -Wall  -g -O2 -Wall -DLUA_USE_POSIX
-DLUA_USE_DLOPEN -DHAVE_LUA=1 -I../liblua   -c -o lzio.o lzio.c
0.254 0.009 gcc -O2 -Wall  -g -O2 -Wall -DLUA_USE_POSIX
-DLUA_USE_DLOPEN -DHAVE_LUA=1 -I../liblua   -c -o lauxlib.o lauxlib.c
0.262 0.008 gcc -O2 -Wall  -g -O2 -Wall -DLUA_USE_POSIX
-DLUA_USE_DLOPEN -DHAVE_LUA=1 -I../liblua   -c -o lbaselib.o
lbaselib.c
0.279 0.017 gcc -O2 -Wall  -g -O2 -Wall -DLUA_USE_POSIX
-DLUA_USE_DLOPEN -DHAVE_LUA=1 -I../liblua   -c -o lbitlib.o lbitlib.c
0.284 0.006 gcc -O2 -Wall  -g -O2 -Wall -DLUA_USE_POSIX
-DLUA_USE_DLOPEN -DHAVE_LUA=1 -I../liblua   -c -o lcorolib.o
lcorolib.c
0.291 0.006 gcc -O2 -Wall  -g -O2 -Wall -DLUA_USE_POSIX
-DLUA_USE_DLOPEN -DHAVE_LUA=1 -I../liblua   -c -o ldblib.o ldblib.c
0.298 0.008 gcc -O2 -Wall  -g -O2 -Wall -DLUA_USE_POSIX
-DLUA_USE_DLOPEN -DHAVE_LUA=1 -I../liblua   -c -o liolib.o liolib.c
0.305 0.007 gcc -O2 -Wall  -g -O2 -Wall -DLUA_USE_POSIX
-DLUA_USE_DLOPEN -DHAVE_LUA=1 -I../liblua   -c -o lmathlib.o
lmathlib.c
0.312 0.006 gcc -O2 -Wall  -g -O2 -Wall -DLUA_USE_POSIX
-DLUA_USE_DLOPEN -DHAVE_LUA=1 -I../liblua   -c -o loslib.o loslib.c
0.319 0.007 gcc -O2 -Wall  -g -O2 -Wall -DLUA_USE_POSIX
-DLUA_USE_DLOPEN -DHAVE_LUA=1 -I../liblua   -c -o lstrlib.o lstrlib.c
0.327 0.008 gcc -O2 -Wall  -g -O2 -Wall -DLUA_USE_POSIX
-DLUA_USE_DLOPEN -DHAVE_LUA=1 -I../liblua   -c -o ltablib.o ltablib.c
0.333 0.006 gcc -O2 -Wall  -g -O2 -Wall -DLUA_USE_POSIX
-DLUA_USE_DLOPEN -DHAVE_LUA=1 -I../liblua   -c -o loadlib.o loadlib.c
0.340 0.008 gcc -O2 -Wall  -g -O2 -Wall -DLUA_USE_POSIX
-DLUA_USE_DLOPEN -DHAVE_LUA=1 -I../liblua   -c -o linit.o linit.c
0.346 0.005 ar rcu liblua.a lapi.o lcode.o lctype.o ldebug.o ldo.o
ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o
lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o lauxlib.o
lbaselib.o lbitlib.o lcorolib.o ldblib.o liolib.o lmathlib.o loslib.o
lstrlib.o ltablib.o loadlib.o linit.o
0.448 0.102 ranlib liblua.a
0.542 0.095 make[1]: Leaving directory `/media/shared/ncat/ncat-sa-take2/liblua'
0.546 0.003 gcc -I./../liblua  -DHAVE_CONFIG_H
-DNCAT_DATADIR="\"/usr/local/share/ncat\"" -D_FORTIFY_SOURCE=2 -I.
-I.. -I../nsock/include/ -I../nbase -DLUA_USE_POSIX -DLUA_USE_DLOPEN
-DHAVE_LUA=1 -I../liblua -g -O2 -Wall -c ncat_main.c -o ncat_main.o
0.570 0.024 gcc -I./../liblua  -DHAVE_CONFIG_H
-DNCAT_DATADIR="\"/usr/local/share/ncat\"" -D_FORTIFY_SOURCE=2 -I.
-I.. -I../nsock/include/ -I../nbase -DLUA_USE_POSIX -DLUA_USE_DLOPEN
-DHAVE_LUA=1 -I../liblua -g -O2 -Wall -c ncat_connect.c -o
ncat_connect.o
0.595 0.026 gcc -I./../liblua  -DHAVE_CONFIG_H
-DNCAT_DATADIR="\"/usr/local/share/ncat\"" -D_FORTIFY_SOURCE=2 -I.
-I.. -I../nsock/include/ -I../nbase -DLUA_USE_POSIX -DLUA_USE_DLOPEN
-DHAVE_LUA=1 -I../liblua -g -O2 -Wall -c ncat_core.c -o ncat_core.o
0.619 0.024 gcc -I./../liblua  -DHAVE_CONFIG_H
-DNCAT_DATADIR="\"/usr/local/share/ncat\"" -D_FORTIFY_SOURCE=2 -I.
-I.. -I../nsock/include/ -I../nbase -DLUA_USE_POSIX -DLUA_USE_DLOPEN
-DHAVE_LUA=1 -I../liblua -g -O2 -Wall -c ncat_posix.c -o ncat_posix.o
0.642 0.023 gcc -I./../liblua  -DHAVE_CONFIG_H
-DNCAT_DATADIR="\"/usr/local/share/ncat\"" -D_FORTIFY_SOURCE=2 -I.
-I.. -I../nsock/include/ -I../nbase -DLUA_USE_POSIX -DLUA_USE_DLOPEN
-DHAVE_LUA=1 -I../liblua -g -O2 -Wall -c ncat_listen.c -o
ncat_listen.o
0.667 0.024 gcc -I./../liblua  -DHAVE_CONFIG_H
-DNCAT_DATADIR="\"/usr/local/share/ncat\"" -D_FORTIFY_SOURCE=2 -I.
-I.. -I../nsock/include/ -I../nbase -DLUA_USE_POSIX -DLUA_USE_DLOPEN
-DHAVE_LUA=1 -I../liblua -g -O2 -Wall -c ncat_proxy.c -o ncat_proxy.o
0.692 0.026 gcc -I./../liblua  -DHAVE_CONFIG_H
-DNCAT_DATADIR="\"/usr/local/share/ncat\"" -D_FORTIFY_SOURCE=2 -I.
-I.. -I../nsock/include/ -I../nbase -DLUA_USE_POSIX -DLUA_USE_DLOPEN
-DHAVE_LUA=1 -I../liblua -g -O2 -Wall -c ncat_ssl.c -o ncat_ssl.o
0.715 0.023 gcc -I./../liblua  -DHAVE_CONFIG_H
-DNCAT_DATADIR="\"/usr/local/share/ncat\"" -D_FORTIFY_SOURCE=2 -I.
-I.. -I../nsock/include/ -I../nbase -DLUA_USE_POSIX -DLUA_USE_DLOPEN
-DHAVE_LUA=1 -I../liblua -g -O2 -Wall -c base64.c -o base64.o
0.724 0.009 gcc -I./../liblua  -DHAVE_CONFIG_H
-DNCAT_DATADIR="\"/usr/local/share/ncat\"" -D_FORTIFY_SOURCE=2 -I.
-I.. -I../nsock/include/ -I../nbase -DLUA_USE_POSIX -DLUA_USE_DLOPEN
-DHAVE_LUA=1 -I../liblua -g -O2 -Wall -c http.c -o http.o
0.749 0.025 gcc -I./../liblua  -DHAVE_CONFIG_H
-DNCAT_DATADIR="\"/usr/local/share/ncat\"" -D_FORTIFY_SOURCE=2 -I.
-I.. -I../nsock/include/ -I../nbase -DLUA_USE_POSIX -DLUA_USE_DLOPEN
-DHAVE_LUA=1 -I../liblua -g -O2 -Wall -c util.c -o util.o
0.773 0.024 gcc -I./../liblua  -DHAVE_CONFIG_H
-DNCAT_DATADIR="\"/usr/local/share/ncat\"" -D_FORTIFY_SOURCE=2 -I.
-I.. -I../nsock/include/ -I../nbase -DLUA_USE_POSIX -DLUA_USE_DLOPEN
-DHAVE_LUA=1 -I../liblua -g -O2 -Wall -c sys_wrap.c -o sys_wrap.o
0.788 0.015 gcc -I./../liblua  -DHAVE_CONFIG_H
-DNCAT_DATADIR="\"/usr/local/share/ncat\"" -D_FORTIFY_SOURCE=2 -I.
-I.. -I../nsock/include/ -I../nbase -DLUA_USE_POSIX -DLUA_USE_DLOPEN
-DHAVE_LUA=1 -I../liblua -g -O2 -Wall -c http_digest.c -o
http_digest.o
0.811 0.023 gcc -I./../liblua  -DHAVE_CONFIG_H
-DNCAT_DATADIR="\"/usr/local/share/ncat\"" -D_FORTIFY_SOURCE=2 -I.
-I.. -I../nsock/include/ -I../nbase -DLUA_USE_POSIX -DLUA_USE_DLOPEN
-DHAVE_LUA=1 -I../liblua -g -O2 -Wall -c ncat_lua.c -o ncat_lua.o
0.834 0.022 gcc -I./../liblua  -DHAVE_CONFIG_H
-DNCAT_DATADIR="\"/usr/local/share/ncat\"" -D_FORTIFY_SOURCE=2 -I.
-I.. -I../nsock/include/ -I../nbase -DLUA_USE_POSIX -DLUA_USE_DLOPEN
-DHAVE_LUA=1 -I../liblua -g -O2 -Wall -c ncat_lua_exec.c -o
ncat_lua_exec.o
0.858 0.024 gcc -I./../liblua  -DHAVE_CONFIG_H
-DNCAT_DATADIR="\"/usr/local/share/ncat\"" -D_FORTIFY_SOURCE=2 -I.
-I.. -I../nsock/include/ -I../nbase -DLUA_USE_POSIX -DLUA_USE_DLOPEN
-DHAVE_LUA=1 -I../liblua -g -O2 -Wall -c ncat_lua_filters.c -o
ncat_lua_filters.o
0.883 0.026 gcc -I./../liblua  -DHAVE_CONFIG_H
-DNCAT_DATADIR="\"/usr/local/share/ncat\"" -D_FORTIFY_SOURCE=2 -I.
-I.. -I../nsock/include/ -I../nbase -DLUA_USE_POSIX -DLUA_USE_DLOPEN
-DHAVE_LUA=1 -I../liblua -g -O2 -Wall -c ncat_lua_connect.c -o
ncat_lua_connect.o
0.912 0.029 gcc -o ncat -g -O2 -Wall   ncat_main.o ncat_connect.o
ncat_core.o ncat_posix.o ncat_listen.o ncat_proxy.o ncat_ssl.o
base64.o http.o util.o sys_wrap.o http_digest.o ncat_lua.o
ncat_lua_exec.o ncat_lua_filters.o ncat_lua_connect.o
../nsock/src/libnsock.a ../nbase/libnbase.a -lssl -lcrypto -lpcap
./../liblua/liblua.a -lm -ldl -lssl -lcrypto -ldl
1.478 0.566 gcc -I./../liblua  -DHAVE_CONFIG_H
-DNCAT_DATADIR="\"/usr/local/share/ncat\"" -D_FORTIFY_SOURCE=2 -I.
-I.. -I../nsock/include/ -I../nbase -DLUA_USE_POSIX -DLUA_USE_DLOPEN
-DHAVE_LUA=1 -I../liblua -g -O2 -Wall -c test/addrset.c -o
test/addrset.o
1.499 0.020 gcc -o test/addrset -g -O2 -Wall  test/addrset.o
ncat_core.o sys_wrap.o util.o ncat_posix.o http.o http_digest.o
base64.o ncat_ssl.o ncat_connect.o ncat_lua.o ncat_lua_exec.o
ncat_lua_filters.o ncat_lua_connect.o ../nsock/src/libnsock.a
../nbase/libnbase.a -lssl -lcrypto -lpcap ./../liblua/liblua.a -lm
-ldl -lssl -lcrypto -ldl
1.970 0.471 gcc -I./../liblua  -DHAVE_CONFIG_H
-DNCAT_DATADIR="\"/usr/local/share/ncat\"" -D_FORTIFY_SOURCE=2 -I.
-I.. -I../nsock/include/ -I../nbase -DLUA_USE_POSIX -DLUA_USE_DLOPEN
-DHAVE_LUA=1 -I../liblua -g -O2 -Wall -c test/test-uri.c -o
test/test-uri.o
1.987 0.017 gcc -o test/test-uri -g -O2 -Wall  test/test-uri.o
base64.o http.o ncat_core.o sys_wrap.o util.o ncat_posix.o
http_digest.o ncat_ssl.o ncat_connect.o ncat_lua.o ncat_lua_exec.o
ncat_lua_filters.o ncat_lua_connect.o ../nsock/src/libnsock.a
../nbase/libnbase.a -lssl -lcrypto -lpcap ./../liblua/liblua.a -lm
-ldl -lssl -lcrypto -ldl
2.514 0.527 gcc -I./../liblua  -DHAVE_CONFIG_H
-DNCAT_DATADIR="\"/usr/local/share/ncat\"" -D_FORTIFY_SOURCE=2 -I.
-I.. -I../nsock/include/ -I../nbase -DLUA_USE_POSIX -DLUA_USE_DLOPEN
-DHAVE_LUA=1 -I../liblua -g -O2 -Wall -c test/test-cmdline-split.c -o
test/test-cmdline-split.o
2.519 0.005 gcc -o test/test-cmdline-split -g -O2 -Wall
test/test-cmdline-split.o ncat_posix.o ncat_core.o sys_wrap.o util.o
http.o http_digest.o base64.o ncat_ssl.o ncat_connect.o ncat_lua.o
ncat_lua_exec.o ncat_lua_filters.o ncat_lua_connect.o
../nsock/src/libnsock.a ../nbase/libnbase.a -lssl -lcrypto -lpcap
./../liblua/liblua.a -lm -ldl -lssl -lcrypto -ldl
2.986 0.467 gcc -I./../liblua  -DHAVE_CONFIG_H
-DNCAT_DATADIR="\"/usr/local/share/ncat\"" -D_FORTIFY_SOURCE=2 -I.
-I.. -I../nsock/include/ -I../nbase -DLUA_USE_POSIX -DLUA_USE_DLOPEN
-DHAVE_LUA=1 -I../liblua -g -O2 -Wall -c test/test-wildcard.c -o
test/test-wildcard.o
3.011 0.024 gcc -o test/test-wildcard -g -O2 -Wall
test/test-wildcard.o ncat_core.o ncat_ssl.o sys_wrap.o util.o
ncat_posix.o http.o http_digest.o base64.o ncat_connect.o ncat_lua.o
ncat_lua_exec.o ncat_lua_filters.o ncat_lua_connect.o
../nsock/src/libnsock.a ../nbase/libnbase.a -lssl -lcrypto -lpcap
./../liblua/liblua.a -lm -ldl -lssl -lcrypto -ldl

The first column is time since starting, the second is time since last
command. As you can see, on my box compiling Lua takes half a second,
compiling Ncat takes another half and linking Ncat and its tests takes
another two seconds.

Install ccache and you will be a happy man.

David Fifield

Would it also work for linking?
_______________________________________________
Sent through the dev mailing list
http://nmap.org/mailman/listinfo/dev
Archived at http://seclists.org/nmap-dev/


Current thread: