On 18.2.2010 03:27, Randy Dunlap wrote: > Can someone clarify the difference(s) in these variables, please? > > Documentation/kbuild.txt says about objtree: > > $(objtree) is the directory where output files are saved. > The output directory is often set using "O=..." on the commandline. > > > Documentation/makefiles.txt says about obj: > > $(obj) > $(obj) is a relative path which points to the directory > where the target is saved. Always use $(obj) when > referring to generated files. > > > These appear to be the same to me, but let me be more specific: $(objtree) is the toplevel build directory (as the doc says the directory you specify with O=). $(obj) is the directory below $(objtree) where the targets of the current Makefile are saved: $ make O=/build/dir $(objtree) == /build/dir $(obj) == /build/dir/fs in fs/Makefile > In some cases (or places), Documentation/DocBook/Makefile uses > $(obj) and other cases/places, it uses $(objtree). > Does it have these correct, or should some of them be fixed? $(objtree)/Documentation/DocBook could be written as $(obj) in Documentation/DocBook/Makefile. hth, Michal -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html