> > Ok. The main thing, which is unclear for me from the help is about > scripts. > What are .hbm files, are they different from .hbp ?
1) .hbm is simple the extension of the command line, same rules, same content, similar to many tools' @script functionality. It serves (just like command line) to build *one project*. 2) .hbp is a lib parameter file, with just a subset of feature. .hbp file serves to easily add a lib (or libs) to a project. If you're a lib developer, you will need an .hbm file to create your lib, and you can also provide a .hbp file for your users to make it easy for them to include your lib in their projects. Are the "libs", "cflags", "ldflags", "libpaths", "gui|..." the only options > of .hbp, or there may be others ( I ask this, because I was supposed that, > as usually, such kind of files may include any option from command line ) ? (see above) The help says, that ".hbp option files in current dir are automatically > processed." What may be a reason of having few .hbp files in current > directory and processing all of them while building a project ? F.e. you have a project you want to build and you just copy in the .hbp files belonging to your project and they're automatically processed and your project built. See such scenario in contrib 'tests' dirs. You can disable this feature using -nohbp. > What filters may be intended for ? As I suppose, they limits the usage of > a > library for a choosen platform. But why may I need to designate a library > in > a command line ( -l ), if I don't use it for current build process ? It's your choice, of course you can use a different command line for different situations (platform or compilers), but if you want to keep only one, you may use these filters to adapt your effective cmdline automatically. F.e. suppose I have a project for both MSVC and MinGW, but some external libraries have different names in these two envs, you can still have a single command line which works on both platforms, by using this: -l{msvc}libeay32s -l{msvc}ssleay32s -l{mingw}crypto -l{mingw}eay32 -l{mingw}ssl -l{mingw}ssl32 Or you may want to add platform/compiler dependent libs protected by a filter to not break build when switching environments: -l{allwin}hbwin ('allwin' means all Windows platforms, which is 'win' and 'wce') Brgds, Viktor
_______________________________________________ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour