Here is a set of patches to implement distributed clean.
A cleanup of Documentation/DocBook is included as well.
See diffstat and changeset descriptions below.
Can be pulled from http://linux-sam.bkbits.net/kbuild2
Regular patches will follow this one.
The whole purpose with this is to move out the centralised list
of files that today is present in the top-level makefile
to the individual makefile where they originally are created.
During a make clean, all makefile are traversed recursively,
and for each makfile all files listed with
clean-files := file file
are deleted.
Furthermore all *.oas, .*.tmp .*.d files are deleted in all
directories looked into.
The list of directories are build upon the normal obj-$(CONFIG_XX)
rules, with the addition of empty "obj-" and negative "obj-n" directories
are searched as well.
The first patch implements the infrastructure only, and therefore Rules.make
is touched.
The subsequent patches introduce the usage in the kernel tree, and the
net result is that CLEAN_FILES is down to one line, and MRPROPER_FILES
is several lines shorter.
The only new behaviour introduced are that firmware files are now deleted
during make clean, as any other generated files.
Based on a concept originally by Kai Germaschewski.
Please apply,
Sam
Documentation/DocBook/Makefile | 52 ++++++++++++-------------------
Makefile | 40 +----------------------
drivers/atm/Makefile | 6 ++-
drivers/char/Makefile | 3 +
drivers/net/hamradio/soundmodem/Makefile | 6 +++
drivers/pci/Makefile | 3 +
drivers/scsi/Makefile | 6 ++-
drivers/scsi/aic7xxx/Makefile | 14 ++++++--
drivers/scsi/aic7xxx/aicasm/Makefile | 2 -
drivers/video/Makefile | 3 +
drivers/zorro/Makefile | 3 +
init/Makefile | 10 ++++-
sound/oss/Makefile | 4 ++
13 files changed, 74 insertions(+), 78 deletions(-)
ChangeSet@1.748.1.1, 2002-10-10 20:24:45+02:00, sam@mars.ravnborg.org
kbuild: Distributed clean infrastructure
Today there is a huge list of files in the top-level Makefile that is
deleted during make clean and make mrproper.
This patch add infrastructure to get rid of this centralised list.
Within a makefile simply use:
clean-files := files-to-be-deleted
or eventually
clean-rule := command to be executed to delete files
Files specified by host-progs and EXTRA_TARGETS are deleted during cleaning,
and the same is all *.[oas] .*.cmd .*.tmp .*.d in the visited directories.
Deleting core files is moved down to mrporper time
Patches utilising this and the centralised list will dismiss.
Based on a concept originally made by Kai Germaschewski
ChangeSet@1.748.1.2, 2002-10-10 20:44:28+02:00, sam@mars.ravnborg.org
scsi+aic7xxx: Utilise distributed clean
List files to be deleted during make clean where they are created
ChangeSet@1.748.1.3, 2002-10-10 20:50:19+02:00, sam@mars.ravnborg.org
drivers/{atm,char,pci,video,zorro}: ditributed clean
Move list of files to be deleted during make clean out where
they are made. host-progs files taken care of automagically
ChangeSet@1.748.1.4, 2002-10-10 20:52:41+02:00, sam@mars.ravnborg.org
drivers/net/hamradio/soundmodem: distributed clean
Move list of files out where it belongs
ChangeSet@1.748.1.5, 2002-10-10 20:57:03+02:00, sam@mars.ravnborg.org
kbuild: Distributed clean, misc.
o Move sound/oss file list to sound/oss/Makefile
o Remove files non-existing in the tree (khttp,net/802/submenu)
o scripts/* are handled by scripts makefile
o Do not delete .config*, be more explicit
o Add MC* - files generated by Menuconfig in toplevel dir
ChangeSet@1.748.1.6, 2002-10-10 21:04:21+02:00, sam@mars.ravnborg.org
docbook: Makefile cleanup
o Removed special rules for JBD, covered by the general mechanishm
o Use $(obj)/ instead of Documentation/DocBook
o Introduced usage of Distributed clean
o No longer delete *~ files in top-level directory during clean
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Tue Oct 15 2002 - 22:00:38 EST