Boost Build, custom-built targets

Hello all- I'm currently using Boost Build v1 for some of my projects. I must say, it's significantly better than Makefiles. Overall, I'm quite pleased, though it took a little while to learn. I haven't been able to figure out one thing, though. How to generate custom built targets. Basically, I want to auto-generate a C++ source file so that I can keep track of version information. I have a python script that determines the version information from various sources (such as the revision control system [arch]), and I would like it to be run before my library is built. If I was using a makefile I would do something like this: .PHONY: version.cpp version.cpp: generate_version.py version ./generate_version.py This would cause version.cpp to be generated fresh each time the build process was called. However, I don't really need the ".PHONY", it would be okay if it was only created whenever one of the other files changed. I'm sure it's possible to do this with bjam, I just haven't figured out how to do customized stuff like this yet. Thanks, John =:-> PS> Is there a better mailing list for this?

Hi John,
You mean, it's OK to rebuild version.cpp only if either 'generate_version.py' or 'version' change? In Boost.Build *V2* this can be done with: exe a : a.cpp version.cpp ; make version.cpp : script.py version : $(__name__).update-version ; actions update-version { $(>[1]) -o $(<) $(>[2]) } For V1, I think you'd need to create a new main target rule and I have no idea how hard is it.
Yea, jamboost@yahoogroups.com, see http://boost.org/more/mailing_lists.htm#projects - Volodya
participants (2)
-
John Meinel
-
Vladimir Prus