mirror of
https://github.com/lm-sensors/lm-sensors.git
synced 2026-10-18 11:09:32 +00:00
* Some Makefile changes. doc/makefiles documents most of them. * The lm78 module now compiles, but it will still crash. * New module sensors, with general code usable by chip driver modules * i2c-core: added function i2c_adapter_id(), which returns a (low) unique i2c-bus ID. * lm78.h stuff moved into lm78.c or sensors.h git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@19 7894878c-1315-0410-8ee3-d5d059ff63e0
55 lines
2.5 KiB
Plaintext
55 lines
2.5 KiB
Plaintext
The Makefiles in this package are rather advanced. They are partially based
|
|
on the article "Recursive Make considered Harmful", written by Peter Miller.
|
|
See doc/useful_addresses.html for a link to this article.
|
|
|
|
There is one big Makefile in the root of this package. It includes many
|
|
other files; one for each directory in which source code is found. These
|
|
included files are called 'Module.mk'. There is a separate set of Makefiles
|
|
in the i2c/ directories; these are Simon Vogl's original Makefiles, and
|
|
not referred by the main package Makefile.
|
|
|
|
There are several interesting targets defined through this Makefile:
|
|
* all
|
|
Create everything in all directories.
|
|
* all-i2c, all-src, ...
|
|
Create everything in the designated directory.
|
|
* install
|
|
Install everything from all directories.
|
|
* install-i2c, install-src, ...
|
|
Install everything in the designated directory.
|
|
* clean
|
|
Remove anything which can be regenerated from all directories. A call
|
|
of 'make clean' (without any other targets) will ignore any .d files;
|
|
this is useful when they are out of date (and prevent the calling of
|
|
any other target).
|
|
* clean-i2c, clean-src, ...
|
|
Remove anything which can be regenerated from the designated directory.
|
|
* dep
|
|
Do nothing, but generate any missing .d files. The command
|
|
'make clean && make dep' canbe useful in this case ('make clean dep'
|
|
will not work, due to technical reasons!).
|
|
* version
|
|
Regenerate version.h, using the current date for the date-stamp, and
|
|
a user-supplied version number.
|
|
* package
|
|
Create a .tar.gz file containing everything except the CVS directories.
|
|
* src/lm78.o, i2c/i2c-core.o, ...
|
|
You can of course also specify one or more targets to make.
|
|
|
|
The best way to understand the Module.mk subfiles is to examine one of them,
|
|
for example src/Module.mk. They are not too difficult to understand.
|
|
|
|
There are several variables which can be set in the main Makefile. You can
|
|
also specify them on the command-line; this overrules any definitions
|
|
within the Makefile. For example: 'make all WARN=1' will enable all warnings.
|
|
Examine main Makefile to see which ones are available. The most important
|
|
ones for developers:
|
|
* WARN
|
|
Set to 1 to enable many compiler warnings.
|
|
* DEBUG
|
|
Set to 1 to enable any debugging code. Note that debugging code should
|
|
only output more information, and never make the code mis-behave.
|
|
|
|
There are lots of comments within the main Makefile. Please read them if
|
|
you want to know more.
|