diff options
| -rw-r--r-- | Documentation/DocBook/Makefile | 51 | ||||
| -rw-r--r-- | Makefile | 114 | ||||
| -rw-r--r-- | Rules.make | 42 | ||||
| -rw-r--r-- | arch/i386/Makefile | 2 | ||||
| -rw-r--r-- | arch/i386/boot/Makefile | 7 | ||||
| -rw-r--r-- | arch/i386/boot/compressed/Makefile | 4 | ||||
| -rw-r--r-- | arch/i386/vmlinux.lds.S | 38 | ||||
| -rw-r--r-- | arch/um/Makefile | 2 | ||||
| -rw-r--r-- | drivers/atm/Makefile | 6 | ||||
| -rw-r--r-- | drivers/char/Makefile | 3 | ||||
| -rw-r--r-- | drivers/net/hamradio/soundmodem/Makefile | 6 | ||||
| -rw-r--r-- | drivers/pci/Makefile | 3 | ||||
| -rw-r--r-- | drivers/scsi/Makefile | 4 | ||||
| -rw-r--r-- | drivers/scsi/aic7xxx/Makefile | 14 | ||||
| -rw-r--r-- | drivers/scsi/aic7xxx/aicasm/Makefile | 2 | ||||
| -rw-r--r-- | drivers/video/Makefile | 3 | ||||
| -rw-r--r-- | drivers/zorro/Makefile | 3 | ||||
| -rw-r--r-- | init/Makefile | 9 | ||||
| -rw-r--r-- | scripts/Makefile | 9 | ||||
| -rw-r--r-- | scripts/lxdialog/Makefile | 3 | ||||
| -rw-r--r-- | sound/oss/Makefile | 4 |
21 files changed, 174 insertions, 155 deletions
diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile index daf40bc291ca..2e3a7333354e 100644 --- a/Documentation/DocBook/Makefile +++ b/Documentation/DocBook/Makefile @@ -13,14 +13,6 @@ DOCBOOKS := wanbook.sgml z8530book.sgml mcabook.sgml videobook.sgml \ writing_usb_driver.sgml scsidrivers.sgml sis900.sgml \ kernel-api.sgml journal-api.sgml lsm.sgml -JBDSOURCES := $(TOPDIR)/include/linux/jbd.h \ - $(TOPDIR)/fs/jbd/journal.c \ - $(TOPDIR)/fs/jbd/recovery.c \ - $(TOPDIR)/fs/jbd/transaction.c - -journal-api.sgml: journal-api.tmpl $(JBDSOURCES) - $(TOPDIR)/scripts/docgen $(JBDSOURCES) \ - <journal-api.tmpl >journal-api.sgml ### # The build process is as follows (targets): # (sgmldocs) @@ -32,7 +24,7 @@ journal-api.sgml: journal-api.tmpl $(JBDSOURCES) # The targets that may be used. .PHONY: sgmldocs psdocs pdfdocs htmldocs clean mrproper -BOOKS := $(addprefix Documentation/DocBook/,$(DOCBOOKS)) +BOOKS := $(addprefix $(obj)/,$(DOCBOOKS)) sgmldocs: $(BOOKS) PS := $(patsubst %.sgml, %.ps, $(BOOKS)) @@ -86,19 +78,19 @@ $(BOOKS): $(KERNELDOC) ### # procfs guide uses a .c file as example code. # This requires an explicit dependency -C-procfs-example = Documentation/DocBook/procfs_example.sgml -Documentation/DocBook/procfs-guide.sgml: $(C-procfs-example) +C-procfs-example = procfs_example.sgml +C-procfs-example2 = $(addprefix $(obj)/,$(C-procfs-example)) +$(obj)/procfs-guide.sgml: $(C-procfs-example2) ### # The parportbook includes a few images. # Force them to be build before the books IMG-parportbook := parport-share.fig parport-multi.fig parport-structure.fig -IMG-parportbook2 := $(addprefix Documentation/DocBook/,$(IMG-parportbook)) +IMG-parportbook2 := $(addprefix $(obj)/,$(IMG-parportbook)) EPS-parportbook := $(patsubst %.fig,%.eps, $(IMG-parportbook2)) PNG-parportbook := $(patsubst %.fig,%.png, $(IMG-parportbook2)) -Documentation/DocBook/parportbook.html: $(PNG-parportbook) -Documentation/DocBook/parportbook.ps Documentation/DocBook/parportbook.pdf:\ - $(EPS-parportbook) +$(obj)/parportbook.html: $(PNG-parportbook) +$(obj)/parportbook.ps $(obj)/parportbook.pdf: $(EPS-parportbook) ### # Rules to generate postscript, PDF and HTML @@ -155,21 +147,20 @@ dochelp: ### # clean and mrproper as used by the top-level makefile # Temporary files left by various tools -DVI := $(patsubst %.sgml, %.dvi, $(BOOKS)) -AUX := $(patsubst %.sgml, %.aux, $(BOOKS)) -TEX := $(patsubst %.sgml, %.tex, $(BOOKS)) -LOG := $(patsubst %.sgml, %.log, $(BOOKS)) -OUT := $(patsubst %.sgml, %.out, $(BOOKS)) - -clean: - @rm -f $(BOOKS) - @rm -f $(DVI) $(AUX) $(TEX) $(LOG) $(OUT) - @rm -f $(PNG-parportbook) $(EPS-parportbook) - @rm -f $(C-procfs-example) - -mrproper: - @rm -f $(PS) $(PDF) - @rm -f -r $(HTML) $(patsubst %.html,%,$(HTML)) +clean-files := $(DOCBOOKS) \ + $(patsubst %.sgml, %.dvi, $(DOCBOOKS)) \ + $(patsubst %.sgml, %.aux, $(DOCBOOKS)) \ + $(patsubst %.sgml, %.tex, $(DOCBOOKS)) \ + $(patsubst %.sgml, %.log, $(DOCBOOKS)) \ + $(patsubst %.sgml, %.out, $(DOCBOOKS)) \ + $(patsubst %.sgml, %.ps, $(DOCBOOKS)) \ + $(patsubst %.sgml, %.pdf, $(DOCBOOKS)) \ + $(patsubst %.sgml, %.html, $(DOCBOOKS)) \ + $(patsubst %.fig,%.eps, $(IMG-parportbook)) \ + $(patsubst %.fig,%.png, $(IMG-parportbook)) \ + $(C-procfs-example) + +clean-rule := rm -rf $(patsubst %.html,%,$(HTML)) include $(TOPDIR)/Rules.make @@ -239,7 +239,7 @@ ifdef include-config # If .config doesn't exist - tough luck -.config: arch/$(ARCH)/config.in $(shell find . -name Config.in) +.config: arch/$(ARCH)/config.in # FIXME $(shell find . -name Config.in) @echo '***' @if [ -f $@ ]; then \ echo '*** The tree was updated, so your .config may be'; \ @@ -456,18 +456,23 @@ include/linux/version.h: Makefile depend dep: .hdepend -# .hdepend is our (misnomed) marker for whether we've run +# .hdepend is our (misnomed) marker for whether we've # generated module versions -.hdepend: $(if $(filter dep depend,$(MAKECMDGOALS)),FORCE) +make-versions := $(strip $(if $(filter dep depend,$(MAKECMDGOALS)),1) \ + $(if $(wildcard .hdepend),,1)) + +.hdepend: prepare FORCE +ifneq ($(make-versions),) @$(MAKE) include/linux/modversions.h @touch $@ +endif ifdef CONFIG_MODVERSIONS # Update modversions.h, but only if it would change. -include/linux/modversions.h: scripts/fixdep prepare FORCE +include/linux/modversions.h: FORCE @rm -rf .tmp_export-objs @$(MAKE) $(patsubst %,_sfdep_%,$(SUBDIRS)) @echo -n ' Generating $@' @@ -661,90 +666,61 @@ allmodconfig: defconfig: yes '' | $(CONFIG_SHELL) $(src)/scripts/Configure -d arch/$(ARCH)/config.in -# Cleaning up -# --------------------------------------------------------------------------- +### +# Cleaning is done on three levels. +# make clean Delete all automatically generated files, including +# tools and firmware. +# make mrproper Delete the current configuration, and related files +# Any core files spread around is deleted as well +# make distclean Remove editor backup files, patch leftover files and the like -# files removed with 'make clean' -CLEAN_FILES += \ - include/linux/compile.h \ - vmlinux System.map \ - drivers/char/consolemap_deftbl.c drivers/video/promcon_tbl.c \ - drivers/char/conmakehash \ - drivers/char/drm/*-mod.c \ - drivers/char/defkeymap.c drivers/char/qtronixmap.c \ - drivers/pci/devlist.h drivers/pci/classlist.h drivers/pci/gen-devlist \ - drivers/zorro/devlist.h drivers/zorro/gen-devlist \ - sound/oss/bin2hex sound/oss/hex2hex \ - drivers/atm/fore200e_mkfirm drivers/atm/{pca,sba}*{.bin,.bin1,.bin2} \ - drivers/scsi/aic7xxx/aic7xxx_seq.h \ - drivers/scsi/aic7xxx/aic7xxx_reg.h \ - drivers/scsi/aic7xxx/aicasm/aicasm_gram.c \ - drivers/scsi/aic7xxx/aicasm/aicasm_scan.c \ - drivers/scsi/aic7xxx/aicasm/y.tab.h \ - drivers/scsi/aic7xxx/aicasm/aicasm \ - drivers/scsi/53c700_d.h drivers/scsi/sim710_d.h \ - drivers/scsi/53c7xx_d.h drivers/scsi/53c7xx_u.h \ - drivers/scsi/53c8xx_d.h drivers/scsi/53c8xx_u.h \ - net/802/cl2llc.c net/802/transit/pdutr.h net/802/transit/timertr.h \ - net/802/pseudo/pseudocode.h \ - net/khttpd/make_times_h net/khttpd/times.h \ - submenu* - -# files removed with 'make mrproper' +# Files removed with 'make clean' +CLEAN_FILES += vmlinux System.map MC* + +# Files removed with 'make mrproper' MRPROPER_FILES += \ include/linux/autoconf.h include/linux/version.h \ - drivers/net/hamradio/soundmodem/sm_tbl_{afsk1200,afsk2666,fsk9600}.h \ - drivers/net/hamradio/soundmodem/sm_tbl_{hapn4800,psk4800}.h \ - drivers/net/hamradio/soundmodem/sm_tbl_{afsk2400_7,afsk2400_8}.h \ - drivers/net/hamradio/soundmodem/gentbl \ - sound/oss/*_boot.h sound/oss/.*.boot \ - sound/oss/msndinit.c \ - sound/oss/msndperm.c \ - sound/oss/pndsperm.c \ - sound/oss/pndspini.c \ - drivers/atm/fore200e_*_fw.c drivers/atm/.fore200e_*.fw \ - .version .config* config.in config.old \ - scripts/tkparse scripts/kconfig.tk scripts/kconfig.tmp \ - scripts/lxdialog/*.o scripts/lxdialog/lxdialog \ + .version .config .config.old config.in config.old \ .menuconfig.log \ include/asm \ .hdepend include/linux/modversions.h \ tags TAGS kernel.spec \ .tmp* -# directories removed with 'make mrproper' +# Directories removed with 'make mrproper' MRPROPER_DIRS += \ .tmp_export-objs \ include/config \ include/linux/modules -clean: archclean - @echo 'Cleaning up' - @find . $(RCS_FIND_IGNORE) \ - \( -name \*.[oas] -o -name core -o -name .\*.cmd -o \ - -name .\*.tmp -o -name .\*.d \) -type f -print \ - | grep -v lxdialog/ | xargs rm -f - @rm -f $(CLEAN_FILES) - +@$(call descend,Documentation/DocBook,clean) - -mrproper: clean archmrproper - @echo 'Making mrproper' +# clean - Delete all intermediate files +# +clean-dirs += $(ALL_SUBDIRS) Documentation/DocBook scripts + +$(addprefix _clean_,$(clean-dirs)): + +@$(call descend,$(patsubst _clean_%,%,$@), subdirclean) + +quiet_cmd_rmclean = RM $$(CLEAN_FILES) +cmd_rmclean = rm -f $(CLEAN_FILES) +clean: archclean $(addprefix _clean_,$(clean-dirs)) + $(call cmd,rmclean) @find . $(RCS_FIND_IGNORE) \ - \( -name .depend -o -name .\*.cmd \) \ - -type f -print | xargs rm -f - @rm -rf $(MRPROPER_DIRS) - @rm -f $(MRPROPER_FILES) - +@$(call descend,scripts,mrproper) - +@$(call descend,Documentation/DocBook,mrproper) + \( -name '*.[oas]' -o -name '.*.cmd' -o -name '.*.d' \ + -o -name '.*.tmp' \) -type f -print | xargs rm -f -distclean: mrproper - @echo 'Making distclean' +# mrproper - delete configuration + modules + core files +# +quiet_cmd_mrproper = RM $$(MRPROPER_DIRS) + $$(MRPROPER_FILES) +cmd_mrproper = rm -rf $(MRPROPER_DIRS) && rm -f $(MRPROPER_FILES) +mrproper distclean: clean archmrproper + @echo ' Making $@ in the srctree' @find . $(RCS_FIND_IGNORE) \ - \( -not -type d \) -and \ \( -name '*.orig' -o -name '*.rej' -o -name '*~' \ -o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \ - -o -name '.*.rej' -o -name '.SUMS' -o -size 0 \) -type f \ - -print | xargs rm -f + -o -name '.*.rej' -o -size 0 \ + -o -name '*%' -o -name '.*.cmd' -o -name 'core' \) \ + -type f -print | xargs rm -f + $(call cmd,mrproper) # Generate tags for editors # --------------------------------------------------------------------------- diff --git a/Rules.make b/Rules.make index affdf72286ae..56e62f97f333 100644 --- a/Rules.make +++ b/Rules.make @@ -87,6 +87,7 @@ obj-m := $(filter-out %/, $(obj-m)) # Subdirectories we need to descend into subdir-ym := $(sort $(subdir-y) $(subdir-m)) +subdir-ymn := $(sort $(subdir-ym) $(subdir-n) $(subdir-)) # export.o is never a composite object, since $(export-objs) has a # fixed meaning (== objects which EXPORT_SYMBOL()) @@ -113,6 +114,10 @@ real-objs-m := $(foreach m, $(obj-m), $(if $($(m:.o=-objs)),$($(m:.o=-objs)),$(m # Only build module versions for files which are selected to be built export-objs := $(filter $(export-objs),$(real-objs-y) $(real-objs-m)) +host-progs-single := $(foreach m,$(host-progs),$(if $($(m)-objs),,$(m))) +host-progs-multi := $(foreach m,$(host-progs),$(if $($(m)-objs),$(m))) +host-progs-multi-objs := $(foreach m,$(host-progs-multi),$($(m)-objs)) + # Add subdir path EXTRA_TARGETS := $(addprefix $(obj)/,$(EXTRA_TARGETS)) @@ -127,12 +132,19 @@ multi-used-m := $(addprefix $(obj)/,$(multi-used-m)) multi-objs-y := $(addprefix $(obj)/,$(multi-objs-y)) multi-objs-m := $(addprefix $(obj)/,$(multi-objs-m)) subdir-ym := $(addprefix $(obj)/,$(subdir-ym)) +subdir-ymn := $(addprefix $(obj)/,$(subdir-ymn)) +clean-files := $(addprefix $(obj)/,$(clean-files)) +host-progs := $(addprefix $(obj)/,$(host-progs)) +host-progs-single := $(addprefix $(obj)/,$(host-progs-single)) +host-progs-multi := $(addprefix $(obj)/,$(host-progs-multi)) +host-progs-multi-objs := $(addprefix $(obj)/,$(host-progs-multi-objs)) # The temporary file to save gcc -MD generated dependencies must not # contain a comma depfile = $(subst $(comma),_,$(@D)/.$(@F).d) -# We're called for one of three purposes: +# We're called for one of four purposes: +# o subdirclean: Delete intermidiate files in the current directory # o fastdep: build module version files (.ver) for $(export-objs) in # the current directory # o modules_install: install the modules in the current directory @@ -142,6 +154,19 @@ depfile = $(subst $(comma),_,$(@D)/.$(@F).d) # When targets are given directly (like foo.o), we just build these # targets (That happens when someone does make some/dir/foo.[ois]) +ifeq ($(MAKECMDGOALS),subdirclean) + +__clean-files := $(wildcard $(EXTRA_TARGETS) $(host-progs) $(clean-files)) + +subdirclean: $(subdir-ymn) +ifneq ($(strip $(__clean-files) $(clean-rule)),) + rm -f $(__clean-files) + $(clean-rule) +else + @/bin/true +endif + +else ifeq ($(MAKECMDGOALS),fastdep) # =========================================================================== @@ -161,7 +186,7 @@ else # This sets version suffixes on exported symbols # --------------------------------------------------------------------------- -MODVERDIR := include/linux/modules/ +MODVERDIR := include/linux/modules # # Added the SMP separator to stop module accidents between uniprocessor @@ -399,14 +424,6 @@ targets += $(multi-used-y) $(multi-used-m) # Compile programs on the host # =========================================================================== -host-progs-single := $(foreach m,$(host-progs),$(if $($(m)-objs),,$(m))) -host-progs-multi := $(foreach m,$(host-progs),$(if $($(m)-objs),$(m))) -host-progs-multi-objs := $(foreach m,$(host-progs-multi),$($(m)-objs)) -host-progs := $(addprefix $(obj)/,$(host-progs)) -host-progs-single := $(addprefix $(obj)/,$(host-progs-single)) -host-progs-multi := $(addprefix $(obj)/,$(host-progs-multi)) -host-progs-multi-objs := $(addprefix $(obj)/,$(host-progs-multi-objs)) - quiet_cmd_host_cc__c = HOSTCC $(echo_target) cmd_host_cc__c = $(HOSTCC) -Wp,-MD,$(depfile) \ $(HOSTCFLAGS) $(HOST_EXTRACFLAGS) \ @@ -431,6 +448,7 @@ $(host-progs-multi): %: $(host-progs-multi-objs) FORCE targets += $(host-progs-single) $(host-progs-multi-objs) $(host-progs-multi) +endif # ! subdirclean endif # ! modules_install endif # ! fastdep @@ -480,9 +498,9 @@ cmd_gzip = gzip -f -9 < $< > $@ # Descending # --------------------------------------------------------------------------- -.PHONY: $(subdir-ym) +.PHONY: $(subdir-ymn) -$(subdir-ym): +$(subdir-ymn): +@$(call descend,$@,$(MAKECMDGOALS)) # Add FORCE to the prequisites of a target to force it to be always rebuilt. diff --git a/arch/i386/Makefile b/arch/i386/Makefile index 4df45365d6f0..dbd363bdb52f 100644 --- a/arch/i386/Makefile +++ b/arch/i386/Makefile @@ -88,6 +88,6 @@ install: vmlinux +@$(call makeboot,BOOTIMAGE=$(BOOTIMAGE) install) archclean: - +@$(call makeboot,clean) + +@$(call makeboot,subdirclean) archmrproper: diff --git a/arch/i386/boot/Makefile b/arch/i386/boot/Makefile index 3369bfc67700..b06bab8ccd43 100644 --- a/arch/i386/boot/Makefile +++ b/arch/i386/boot/Makefile @@ -28,6 +28,8 @@ SVGA_MODE := -DSVGA_MODE=NORMAL_VGA EXTRA_TARGETS := vmlinux.bin bootsect bootsect.o \ setup setup.o zImage bzImage +subdir- := compressed + host-progs := tools/build # Default @@ -79,11 +81,6 @@ zlilo: $(BOOTIMAGE) install: $(BOOTIMAGE) sh $(src)/install.sh $(KERNELRELEASE) $(BOOTIMAGE) System.map "$(INSTALL_PATH)" -clean: - @echo 'Cleaning up (boot)' - @rm -f $(host-progs) $(EXTRA_TARGETS) - +@$(call descend,$(obj)/compressed) clean - archhelp: @echo '* bzImage - Compressed kernel image (arch/$(ARCH)/boot/bzImage)' @echo ' install - Install kernel using' diff --git a/arch/i386/boot/compressed/Makefile b/arch/i386/boot/compressed/Makefile index 53af39a4408e..16383b2df2fb 100644 --- a/arch/i386/boot/compressed/Makefile +++ b/arch/i386/boot/compressed/Makefile @@ -24,7 +24,3 @@ LDFLAGS_piggy.o := -r --format binary --oformat elf32-i386 -T $(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.gz FORCE $(call if_changed,ld) - -clean: - @echo 'Cleaning up (boot/compressed)' - @rm -f $(EXTRA_TARGETS) diff --git a/arch/i386/vmlinux.lds.S b/arch/i386/vmlinux.lds.S index 4469f4e5d584..f48a09762c36 100644 --- a/arch/i386/vmlinux.lds.S +++ b/arch/i386/vmlinux.lds.S @@ -8,6 +8,7 @@ jiffies = jiffies_64; SECTIONS { . = 0xC0000000 + 0x100000; + /* read-only */ _text = .; /* Text and read-only data */ .text : { *(.text) @@ -29,16 +30,34 @@ SECTIONS __ksymtab : { *(__ksymtab) } __stop___ksymtab = .; + __start___kallsyms = .; /* All kernel symbols */ + __kallsyms : { *(__kallsyms) } + __stop___kallsyms = .; + + /* writeable */ .data : { /* Data */ *(.data) CONSTRUCTORS } + . = ALIGN(4096); + __nosave_begin = .; + .data_nosave : { *(.data.nosave) } + . = ALIGN(4096); + __nosave_end = .; + + . = ALIGN(4096); + .data.page_aligned : { *(.data.idt) } + + . = ALIGN(32); + .data.cacheline_aligned : { *(.data.cacheline_aligned) } + _edata = .; /* End of data section */ . = ALIGN(8192); /* init_task */ .data.init_task : { *(.data.init_task) } + /* will be freed after init */ . = ALIGN(4096); /* Init code and data */ __init_begin = .; .text.init : { *(.text.init) } @@ -64,23 +83,8 @@ SECTIONS __per_cpu_end = .; . = ALIGN(4096); __init_end = .; - - . = ALIGN(4096); - __nosave_begin = .; - .data_nosave : { *(.data.nosave) } - . = ALIGN(4096); - __nosave_end = .; - - . = ALIGN(4096); - .data.page_aligned : { *(.data.idt) } - - . = ALIGN(32); - .data.cacheline_aligned : { *(.data.cacheline_aligned) } - - __start___kallsyms = .; /* All kernel symbols */ - __kallsyms : { *(__kallsyms) } - __stop___kallsyms = .; - + /* freed after init ends here */ + __bss_start = .; /* BSS */ .bss : { *(.bss) } __bss_stop = .; diff --git a/arch/um/Makefile b/arch/um/Makefile index f4265f94529b..dd28bfdb90b9 100644 --- a/arch/um/Makefile +++ b/arch/um/Makefile @@ -70,7 +70,7 @@ LDFLAGS_vmlinux = -r $(ARCH_DIR)/main.o vmlinux: $(ARCH_DIR)/main.o -$(ARCH_DIR)/uml.lds.s : $(ARCH_DIR)/uml.lds.S +$(ARCH_DIR)/uml.lds.s : $(ARCH_DIR)/uml.lds.S scripts FORCE $(call if_changed_dep,as_s_S) AFLAGS_uml.lds.o = -U$(SUBARCH) -DSTART=$$(($(TOP_ADDR) - $(SIZE))) \ diff --git a/drivers/atm/Makefile b/drivers/atm/Makefile index ccae789befa9..2d88513912c0 100644 --- a/drivers/atm/Makefile +++ b/drivers/atm/Makefile @@ -8,6 +8,10 @@ export-objs := uPD98402.o suni.o idt77105.o fore_200e-objs := fore200e.o host-progs := fore200e_mkfirm +# Files generated that shall be removed upon make clean +clean-files := {atmsar11,pca200e,pca200e_ecd,sba200e_ecd}.{bin,bin1,bin2} +# Firmware generated that shall be removed upon make clean +clean-files += fore200e_pca_fw.c fore200e_sba_fw.c obj-$(CONFIG_ATM_ZATM) += zatm.o uPD98402.o obj-$(CONFIG_ATM_NICSTAR) += nicstar.o @@ -61,6 +65,6 @@ $(obj)/fore200e_sba_fw.c: $(patsubst "%", %, $(CONFIG_ATM_FORE200E_SBA_FW)) \ -i $(CONFIG_ATM_FORE200E_SBA_FW) -o $@ # deal with the various suffixes of the binary firmware images -$(obj)/%.bin $(obj)/%.bin1 $(obj)/%.bin2: $(obj)/%.data +$(obj)/%.bin $(obj)/%.bin1 $(obj)/%.bin2: $(src)/%.data objcopy -Iihex $< -Obinary $@.gz gzip -df $@.gz diff --git a/drivers/char/Makefile b/drivers/char/Makefile index d0be4dd0e8cb..e65360cf6538 100644 --- a/drivers/char/Makefile +++ b/drivers/char/Makefile @@ -104,6 +104,9 @@ obj-$(CONFIG_AGP) += agp/ obj-$(CONFIG_DRM) += drm/ obj-$(CONFIG_PCMCIA) += pcmcia/ +# Files generated that shall be removed upon make clean +clean-files := consolemap_deftbl.c defkeymap.c qtronixmap.c + include $(TOPDIR)/Rules.make $(obj)/consolemap_deftbl.c: $(src)/$(FONTMAPFILE) diff --git a/drivers/net/hamradio/soundmodem/Makefile b/drivers/net/hamradio/soundmodem/Makefile index a3fe3f4e61cd..77de2ca25c87 100644 --- a/drivers/net/hamradio/soundmodem/Makefile +++ b/drivers/net/hamradio/soundmodem/Makefile @@ -19,6 +19,12 @@ soundmodem-objs := $(soundmodem-y) host-progs := gentbl HOST_LOADLIBES := -lm +# Files generated that shall be removed upon make clean +clean-files := sm_tbl_afsk1200.h sm_tbl_afsk2400_7.h \ + sm_tbl_afsk2400_8.h sm_tbl_afsk2666.h \ + sm_tbl_psk4800.h sm_tbl_hapn4800.h \ + sm_tbl_fsk9600.h + include $(TOPDIR)/Rules.make # Dependencies on generates files need to be listed explicitly diff --git a/drivers/pci/Makefile b/drivers/pci/Makefile index 307ea814439a..d26c2e02ef62 100644 --- a/drivers/pci/Makefile +++ b/drivers/pci/Makefile @@ -31,6 +31,9 @@ endif host-progs := gen-devlist +# Files generated that shall be removed upon make clean +clean-files := devlist.h classlist.h + include $(TOPDIR)/Rules.make # Dependencies on generated files need to be listed explicitly diff --git a/drivers/scsi/Makefile b/drivers/scsi/Makefile index b9f1779ff00f..1edb859c1b50 100644 --- a/drivers/scsi/Makefile +++ b/drivers/scsi/Makefile @@ -132,6 +132,10 @@ a100u2w-objs := inia100.o i60uscsi.o cpqfc-objs := cpqfcTSinit.o cpqfcTScontrol.o cpqfcTSi2c.o \ cpqfcTSworker.o cpqfcTStrigger.o +# Files generated that shall be removed upon make clean +clean-files := 53c8xx_d.h 53c7xx_d.h sim710_d.h 53c700_d.h \ + 53c8xx_u.h 53c7xx_u.h sim710_u.h 53c700_u.h + include $(TOPDIR)/Rules.make $(obj)/53c7,8xx.o: $(obj)/53c8xx_d.h $(obj)/53c8xx_u.h diff --git a/drivers/scsi/aic7xxx/Makefile b/drivers/scsi/aic7xxx/Makefile index d92ba2bdc047..ea95d8a13309 100644 --- a/drivers/scsi/aic7xxx/Makefile +++ b/drivers/scsi/aic7xxx/Makefile @@ -20,6 +20,13 @@ endif #EXTRA_CFLAGS += -g +# Files generated that shall be removed upon make clean +clean-files := aic7xxx_seq.h aic7xxx_reg.h + +# Command to be executed upon make clean +# Note: Assignment without ':' to force late evaluation of $(src) +clean-rule = @$(MAKE) -C $(src)/aicasm clean + include $(TOPDIR)/Rules.make # Dependencies for generated files need to be listed explicitly @@ -30,12 +37,13 @@ $(addprefix $(obj)/,$(aic7xxx-objs)): $(obj)/aic7xxx_reg.h ifeq ($(CONFIG_AIC7XXX_BUILD_FIRMWARE),y) -$(obj)/aic7xxx_seq.h $(obj)/aic7xxx_reg.h: $(src)/aic7xxx.seq \ - $(src)/aic7xxx.reg \ - $(obj)/aicasm/aicasm +$(obj)/aic7xxx_seq.h: $(src)/aic7xxx.seq $(src)/aic7xxx.reg \ + $(obj)/aicasm/aicasm $(obj)/aicasm/aicasm -I. -r $(obj)/aic7xxx_reg.h \ -o $(obj)/aic7xxx_seq.h $(src)/aic7xxx.seq +$(obj)/aic7xxx_reg.h: $(obj)/aix7xxx_seq.h + $(obj)/aicasm/aicasm: $(src)/aicasm/*.[chyl] $(MAKE) -C $(src)/aicasm diff --git a/drivers/scsi/aic7xxx/aicasm/Makefile b/drivers/scsi/aic7xxx/aicasm/Makefile index 790402e0dd68..39acae36dcac 100644 --- a/drivers/scsi/aic7xxx/aicasm/Makefile +++ b/drivers/scsi/aic7xxx/aicasm/Makefile @@ -43,7 +43,7 @@ aicdb.h: fi clean: - rm -f $(CLEANFILES) $(PROG) + @rm -f $(CLEANFILES) $(PROG) y.tab.h aicasm_gram.c: aicasm_gram.y $(YACC) $(YFLAGS) aicasm_gram.y diff --git a/drivers/video/Makefile b/drivers/video/Makefile index 53d5a335d832..9eb41edb4a49 100644 --- a/drivers/video/Makefile +++ b/drivers/video/Makefile @@ -119,6 +119,9 @@ obj-$(CONFIG_FBCON_HGA) += fbcon-hga.o obj-$(CONFIG_FBCON_STI) += fbcon-sti.o obj-$(CONFIG_FBCON_ACCEL) += fbcon-accel.o +# Files generated that shall be removed upon make clean +clean-files := promcon_tbl.c + include $(TOPDIR)/Rules.make $(obj)/promcon_tbl.c: $(src)/prom.uni diff --git a/drivers/zorro/Makefile b/drivers/zorro/Makefile index 9bde458b4322..2131c57fccfa 100644 --- a/drivers/zorro/Makefile +++ b/drivers/zorro/Makefile @@ -9,6 +9,9 @@ obj-$(CONFIG_PROC_FS) += proc.o host-progs := gen-devlist +# Files generated that shall be removed upon make clean +clean-files := devlist.h + include $(TOPDIR)/Rules.make # Dependencies on generated files need to be listed explicitly diff --git a/init/Makefile b/init/Makefile index 6dbffbfb4b70..60f06f6ccb81 100644 --- a/init/Makefile +++ b/init/Makefile @@ -4,17 +4,20 @@ obj-y := main.o version.o do_mounts.o +# files to be removed upon make clean +clean-files := ../include/linux/compile.h + include $(TOPDIR)/Rules.make # dependencies on generated files need to be listed explicitly -$(obj)/version.o: $(objtree)/include/linux/compile.h +$(obj)/version.o: $(obj)/../include/linux/compile.h # compile.h changes depending on hostname, generation number, etc, # so we regenerate it always. # mkcompile_h will make sure to only update the # actual file if its content has changed. -$(objtree)/include/linux/compile.h: FORCE - @echo -n ' Generating $@' +$(obj)/../include/linux/compile.h: FORCE + @echo -n ' Generating $(echo_target)' @sh $(srctree)/scripts/mkcompile_h $@ "$(ARCH)" "$(CONFIG_SMP)" "$(CC) $(CFLAGS)" diff --git a/scripts/Makefile b/scripts/Makefile index 0921e79c6c79..6032efe0f0aa 100644 --- a/scripts/Makefile +++ b/scripts/Makefile @@ -11,6 +11,8 @@ EXTRA_TARGETS := fixdep split-include docproc conmakehash +subdir- := lxdialog + # Yikes. We need to build this stuff here even if the user only wants # modules. @@ -24,6 +26,8 @@ KBUILD_BUILTIN := 1 host-progs := fixdep split-include conmakehash docproc tkparse tkparse-objs := tkparse.o tkcond.o tkgen.o +clean-files := kconfig.tk + include $(TOPDIR)/Rules.make # In reality kconfig.tk should depend on all Config.in files, @@ -56,8 +60,3 @@ lxdialog: # fixdep is needed to compile other host programs $(obj)/split-include $(obj)/docproc $(addprefix $(obj)/,$(tkparse-objs)) \ $(obj)/conmakehash lxdialog: $(obj)/fixdep - -mrproper: - @rm -f $(host-progs) $(addprefix $(obj)/,$(tkparse-objs) kconfig.tk core) - @$(call descend,scripts/lxdialog,mrproper) - diff --git a/scripts/lxdialog/Makefile b/scripts/lxdialog/Makefile index da5e5a1ab32d..252c5bf86cd1 100644 --- a/scripts/lxdialog/Makefile +++ b/scripts/lxdialog/Makefile @@ -42,6 +42,3 @@ ncurses: echo ;\ exit 1 ;\ fi - -mrproper: - @rm -f $(host-progs) $(addprefix $(obj)/,$(lxdialog-objs)) diff --git a/sound/oss/Makefile b/sound/oss/Makefile index c24a584bc43d..de9f457b82cc 100644 --- a/sound/oss/Makefile +++ b/sound/oss/Makefile @@ -96,6 +96,10 @@ wavefront-objs := wavfront.o wf_midi.o yss225.o host-progs := bin2hex hex2hex +# Files generated that shall be removed upon make clean +clean-files := maui_boot.h msndperm.c msndinit.c pndsperm.c pndspini.c \ + pss_boot.h trix_boot.h + include $(TOPDIR)/Rules.make # Firmware files that need translation |
