Search code examples
c++node-gyp

Incremental build of a node-gyp project


I'm fiddling around the node-mariasql source code, and would like to change some stuff and rebuild the project as I go. My intuitive approach was to just run node-gyp rebuild from the root of the project. Unfortunately, it looks like it always builds the whole project all over again, even if I just make a change on one of the source files :

~/Documents/workspace/node-mariasql$ node-gyp rebuild
gyp info it worked if it ends with ok
gyp info using node-gyp@3.4.0
gyp info using node@4.4.7 | linux | x64
...
make: Entering directory '/home/vagrant/Documents/workspace/node-mariasql/build'
  CXX(target) Debug/obj.target/taocrypt/deps/libmariadbclient/extra/yassl/taocrypt/src/aes.o
  CXX(target) Debug/obj.target/taocrypt/deps/libmariadbclient/extra/yassl/taocrypt/src/aestables.o
  ... (and so on...)

  CC(target) Debug/obj.target/zlib/deps/libmariadbclient/zlib/zutil.o
  AR(target) Debug/obj.target/deps/libmariadbclient/zlib/zlib.a
  COPY Debug/zlib.a
  CXX(target) Debug/obj.target/sqlclient/src/binding.o
../src/binding.cc:71:0: warning: "DEBUG" redefined [enabled by default]
  SOLINK_MODULE(target) Debug/obj.target/sqlclient.node
  COPY Debug/sqlclient.node
make: Leaving directory '/home/vagrant/Documents/workspace/node-
mariasql/build'
gyp info ok 

The build process takes a little while, how can I make the project be built incrementally ?


Solution

  • According to documentation, node-gyp rebuild runs clean, configure and build commands all in a row. Just run node-gyp build to invoke make.