Messages in this thread | | | Date | Thu, 10 Oct 2002 21:34:40 +0200 | From | Sam Ravnborg <> | Subject | [PATCH] Distributed clean |
| |
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/
| |