Messages in this thread Patch in this message | | | Date | Sun, 23 Jan 2000 18:36:16 -0500 | From | Matthew Wilcox <> | Subject | Towards non-recursive makefiles |
| |
I've converted the fs/Makefile to work in a non-recursive style. It's not a complete solution; in particular I haven't yet done all the funky things needed for modules (though the genksyms works which was one of my goals) and I've broken the automatic dependencies. I also get some icky recursive dependency warnings, and I know why I'm getting them, I just can't quite think how to fix them.
The compelling part is the removal of more than 800 lines from the fs/ Makefiles and the time difference:
make SUBDIRS=fs modules takes real 0m1.102s user 0m0.770s sys 0m0.280s instead of real 0m3.538s user 0m2.640s sys 0m0.690s
on my P-II laptop. Identical .configs, blah, blah.
I'd appreciate people looking over the patch, let me know your thoughts. It's against 2.2.12 because that's what I had available.
Makerules is a copy of Rules.make with a few minor changes. I made the copy so I can still build the rest of the kernel. We should be able to get further improvements once the rest of the Makefiles are changed.
diff -urN -X exclude kernel-source-2.2.12/Makerules linux-2.2.12-nonrec/Makerules --- kernel-source-2.2.12/Makerules Wed Dec 31 19:00:00 1969 +++ linux-2.2.12-nonrec/Makerules Sun Jan 23 15:25:12 2000 @@ -0,0 +1,292 @@ +# +# This file contains rules which are shared between multiple Makefiles. +# + +# +# False targets. +# +.PHONY: subdirs dummy + +# +# Special variables which should not be exported +# +unexport EXTRA_ASFLAGS +unexport EXTRA_CFLAGS +unexport EXTRA_LDFLAGS +unexport EXTRA_ARFLAGS +unexport SUBDIRS +unexport SUB_DIRS +unexport ALL_SUB_DIRS +unexport MOD_SUB_DIRS +unexport O_TARGET +unexport O_OBJS +unexport L_OBJS +unexport M_OBJS +# intermediate objects that form part of a module +unexport MI_OBJS +unexport ALL_MOBJS +# objects that export symbol tables +unexport OX_OBJS +unexport LX_OBJS +unexport MX_OBJS +unexport MIX_OBJS +unexport SYMTAB_OBJS + +unexport MOD_LIST_NAME + +# +# Common rules +# + +%.s: %.c + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(CFLAGS_$@) -S $< -o $@ + +%.i: %.c + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(CFLAGS_$@) -E $< > $@ + +%.o: %.c + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(CFLAGS_$@) -c -o $@ $< + @ ( \ + echo 'ifeq ($(strip $(subst $(comma),:,$(CFLAGS) $(EXTRA_CFLAGS) $(CFLAGS_$@))),$$(strip $$(subst $$(comma),:,$$(CFLAGS) $$(EXTRA_CFLAGS) $$(CFLAGS_$@))))' ; \ + echo 'FILES_FLAGS_UP_TO_DATE += $@' ; \ + echo 'endif' \ + ) > $(dir $@)/.$(notdir $@).flags + +%.o: %.s + $(AS) $(ASFLAGS) $(EXTRA_CFLAGS) -o $@ $< + +%.o:: %.o + $(LD) $(EXTRA_LDFLAGS) -r -o $@ $^ + +# +# +# +all_targets: $(O_TARGET) $(L_TARGET) $(OBJ_Y) + +# +# Rule to compile a set of .o files into one .o file +# +ifdef O_TARGET +ALL_O = $(OX_OBJS) $(O_OBJS) +$(O_TARGET): $(ALL_O) + rm -f $@ +ifneq "$(strip $(ALL_O))" "" + $(LD) $(EXTRA_LDFLAGS) -r -o $@ $(ALL_O) +else + $(AR) rcs $@ +endif + @ ( \ + echo 'ifeq ($(strip $(subst $(comma),:,$(EXTRA_LDFLAGS) $(ALL_O))),$$(strip $$(subst $$(comma),:,$$(EXTRA_LDFLAGS) $$(ALL_O))))' ; \ + echo 'FILES_FLAGS_UP_TO_DATE += $@' ; \ + echo 'endif' \ + ) > $(dir $@)/.$(notdir $@).flags +endif # O_TARGET + +# +# Rule to compile a set of .o files into one .a file +# +ifdef L_TARGET +$(L_TARGET): $(LX_OBJS) $(L_OBJS) + rm -f $@ + $(AR) $(EXTRA_ARFLAGS) rcs $@ $(LX_OBJS) $(L_OBJS) + @ ( \ + echo 'ifeq ($(strip $(subst $(comma),:,$(EXTRA_ARFLAGS) $(LX_OBJS) $(L_OBJS))),$$(strip $$(subst $$(comma),:,$$(EXTRA_ARFLAGS) $$(LX_OBJS) $$(L_OBJS))))' ; \ + echo 'FILES_FLAGS_UP_TO_DATE += $@' ; \ + echo 'endif' \ + ) > $(dir $@)/.$(notdir $@).flags +endif + +# +# This make dependencies quickly +# +fastdep: dummy + $(TOPDIR)/scripts/mkdep $(wildcard *.[chS] local.h.master) > .depend +ifdef ALL_SUB_DIRS + $(MAKE) $(patsubst %,_sfdep_%,$(ALL_SUB_DIRS)) _FASTDEP_ALL_SUB_DIRS="$(ALL_SUB_DIRS)" +endif + +ifdef _FASTDEP_ALL_SUB_DIRS +$(patsubst %,_sfdep_%,$(_FASTDEP_ALL_SUB_DIRS)): + $(MAKE) -C $(patsubst _sfdep_%,%,$@) fastdep +endif + + +# +# A rule to make subdirectories +# +sub_dirs: $(patsubst %,_subdir_%,$(SUB_DIRS)) + +ifdef SUB_DIRS +$(patsubst %,_subdir_%,$(SUB_DIRS)) : dummy + $(MAKE) -C $(patsubst _subdir_%,%,$@) +endif + +# +# A rule to make modules +# +ALL_MOBJS = $(MX_OBJS) $(M_OBJS) +ifneq "$(strip $(ALL_MOBJS))" "" +PDWN=$(shell $(CONFIG_SHELL) $(TOPDIR)/scripts/pathdown.sh) +endif + +ifdef MOD_SUB_DIRS +$(patsubst %,_modsubdir_%,$(MOD_SUB_DIRS)) : dummy + $(MAKE) -C $(patsubst _modsubdir_%,%,$@) modules +endif + +ifdef MOD_IN_SUB_DIRS +$(patsubst %,_modinsubdir_%,$(MOD_IN_SUB_DIRS)) : dummy + $(MAKE) -C $(patsubst _modinsubdir_%,%,$@) modules +endif + +modules: $(ALL_MOBJS) $(MIX_OBJS) $(MI_OBJS) dummy \ + $(patsubst %,_modsubdir_%,$(MOD_SUB_DIRS)) \ + $(patsubst %,_modinsubdir_%,$(MOD_IN_SUB_DIRS)) +ifneq "$(strip $(MOD_LIST_NAME))" "" + rm -f $$TOPDIR/modules/$(MOD_LIST_NAME) + for i in $(MOD_SUB_DIRS) $(ALL_MOBJS); do \ + echo `basename $$i .o`.o >> $$TOPDIR/modules/$(MOD_LIST_NAME); \ + done +ifneq "$(strip $(MOD_TO_LIST))" "" + echo $(MOD_TO_LIST) >> $$TOPDIR/modules/$(MOD_LIST_NAME) +endif +endif +ifneq "$(strip $(ALL_MOBJS))" "" + echo $(PDWN) + cd $$TOPDIR/modules; for i in $(ALL_MOBJS); do \ + ln -sf ../$(PDWN)/$$i `basename $$i`; done +endif + +# +# A rule to do nothing +# +dummy: + +# +# This is useful for testing +# +script: + $(SCRIPT) + +# +# This sets version suffixes on exported symbols +# Uses SYMTAB_OBJS +# Separate the object into "normal" objects and "exporting" objects +# Exporting objects are: all objects that define symbol tables +# +ifdef CONFIG_MODULES + +SYMTAB_OBJS = $(SYMTAB_m) $(SYMTAB_y) $(LX_OBJS) $(OX_OBJS) $(MX_OBJS) $(MIX_OBJS) + +ifdef CONFIG_MODVERSIONS +ifneq "$(strip $(SYMTAB_OBJS))" "" + +MODINCL = $(TOPDIR)/include/linux/modules + +# The -w option (enable warnings) for genksyms will return here in 2.1 +# So where has it gone? +# +# Added the SMP separator to stop module accidents between uniprocessor +# and SMP Intel boxes - AC - from bits by Michael Chastain +# + +ifdef CONFIG_SMP + genksyms_smp_prefix := -p smp_ +else + genksyms_smp_prefix := +endif + +$(MODINCL)/%.ver: %.c + @if [ ! -r $(MODINCL)/$*.stamp -o $(MODINCL)/$*.stamp -ot $< ]; then \ + echo '$(CC) $(CFLAGS) -E -D__GENKSYMS__ $<'; \ + echo '| $(GENKSYMS) $(genksyms_smp_prefix) -k $(VERSION).$(PATCHLEVEL).$(SUBLEVEL) > $@.tmp'; \ + $(CC) $(CFLAGS) -E -D__GENKSYMS__ $< \ + | $(GENKSYMS) $(genksyms_smp_prefix) -k $(VERSION).$(PATCHLEVEL).$(SUBLEVEL) > $@.tmp; \ + if [ -r $@ ] && cmp -s $@ $@.tmp; then echo $@ is unchanged; rm -f $@.tmp; \ + else echo mv $@.tmp $@; mv -f $@.tmp $@; fi; \ + fi; touch $(MODINCL)/$*.stamp + +$(addprefix $(MODINCL)/,$(SYMTAB_OBJS:.o=.ver)): $(TOPDIR)/include/linux/autoconf.h + +$(TOPDIR)/include/linux/modversions.h: $(addprefix $(MODINCL)/,$(SYMTAB_OBJS:.o=.ver)) + @echo updating $(TOPDIR)/include/linux/modversions.h + @(echo "#ifndef _LINUX_MODVERSIONS_H";\ + echo "#define _LINUX_MODVERSIONS_H"; \ + echo "#include <linux/modsetver.h>"; \ + cd $(TOPDIR)/include/linux/modules; \ + for f in *.ver; do \ + if [ -f $$f ]; then echo "#include <linux/modules/$${f}>"; fi; \ + done; \ + echo "#endif"; \ + ) > $@ + +dep fastdep: $(TOPDIR)/include/linux/modversions.h + +endif # SYMTAB_OBJS + +$(M_OBJS): $(TOPDIR)/include/linux/modversions.h +ifdef MAKING_MODULES +$(O_OBJS) $(L_OBJS): $(TOPDIR)/include/linux/modversions.h +endif + +else + +$(TOPDIR)/include/linux/modversions.h: + @echo "#include <linux/modsetver.h>" > $@ + +endif # CONFIG_MODVERSIONS + +ifneq "$(strip $(SYMTAB_OBJS))" "" +$(SYMTAB_OBJS): $(TOPDIR)/include/linux/modversions.h $(SYMTAB_OBJS:.o=.c) + $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(CFLAGS_$@) -DEXPORT_SYMTAB -c -o $@ $(@:.o=.c) + @ ( \ + echo 'ifeq ($(strip $(subst $(comma),:,$(CFLAGS) $(EXTRA_CFLAGS) $(CFLAGS_$@) -DEXPORT_SYMTAB)),$$(strip $$(subst $$(comma),:,$$(CFLAGS) $$(EXTRA_CFLAGS) $$(CFLAGS_$@) -DEXPORT_SYMTAB)))' ; \ + echo 'FILES_FLAGS_UP_TO_DATE += $@' ; \ + echo 'endif' \ + ) > $(dir $@)/.$(notdir $@).flags +endif + +endif # CONFIG_MODULES + + +# +# include dependency files if they exist +# +ifneq ($(wildcard .depend),) +include .depend +endif + +ifneq ($(wildcard $(TOPDIR)/.hdepend),) +include $(TOPDIR)/.hdepend +endif + +# +# Find files whose flags have changed and force recompilation. +# For safety, this works in the converse direction: +# every file is forced, except those whose flags are positively up-to-date. +# +FILES_FLAGS_UP_TO_DATE := + +# For use in expunging commas from flags, which mung our checking. +comma = , + +FILES_FLAGS_EXIST := $(wildcard .*.flags) +ifneq ($(FILES_FLAGS_EXIST),) +include $(FILES_FLAGS_EXIST) +endif + +FILES_FLAGS_CHANGED := $(strip \ + $(filter-out $(FILES_FLAGS_UP_TO_DATE), \ + $(O_TARGET) $(O_OBJS) $(OX_OBJS) \ + $(L_TARGET) $(L_OBJS) $(LX_OBJS) \ + $(M_OBJS) $(MX_OBJS) \ + $(MI_OBJS) $(MIX_OBJS) \ + )) + +# A kludge: .S files don't get flag dependencies (yet), +# because that will involve changing a lot of Makefiles. +FILES_FLAGS_CHANGED := $(strip \ + $(filter-out $(patsubst %.S, %.o, $(wildcard *.S)), \ + $(FILES_FLAGS_CHANGED))) + +# .PHONY: $(FILES_FLAGS_CHANGED) diff -urN -X exclude kernel-source-2.2.12/fs/Makefile linux-2.2.12-nonrec/fs/Makefile --- kernel-source-2.2.12/fs/Makefile Wed Aug 25 20:29:49 1999 +++ linux-2.2.12-nonrec/fs/Makefile Sun Jan 23 14:25:21 2000 @@ -7,18 +7,19 @@ # # Note 2! The CFLAGS definitions are now in the main makefile. +first_rule: sub_dirs + $(MAKE) all_targets + L_TARGET := filesystems.a L_OBJS = $(join $(SUB_DIRS),$(SUB_DIRS:%=/%.o)) O_TARGET := fs.o O_OBJS = open.o read_write.o devices.o file_table.o buffer.o \ super.o block_dev.o stat.o exec.o pipe.o namei.o fcntl.o \ ioctl.o readdir.o select.o fifo.o locks.o filesystems.o \ - dcache.o inode.o attr.o bad_inode.o file.o $(BINFMTS) + dcache.o inode.o attr.o bad_inode.o file.o $(BINFMTS_y) MOD_LIST_NAME := FS_MODULES -ALL_SUB_DIRS = coda minix ext2 fat msdos vfat proc isofs nfs umsdos ntfs \ - hpfs sysv smbfs ncpfs ufs affs romfs autofs hfs lockd \ - nfsd nls devpts adfs qnx4 efs +ALL_SUB_DIRS = nls ifeq ($(CONFIG_QUOTA),y) O_OBJS += dquot.o @@ -26,103 +27,6 @@ O_OBJS += noquot.o endif -ifeq ($(CONFIG_CODA_FS),y) -SUB_DIRS += coda -else - ifeq ($(CONFIG_CODA_FS),m) - MOD_SUB_DIRS += coda - endif -endif - -ifeq ($(CONFIG_MINIX_FS),y) -SUB_DIRS += minix -else - ifeq ($(CONFIG_MINIX_FS),m) - MOD_SUB_DIRS += minix - endif -endif - -ifeq ($(CONFIG_EXT2_FS),y) -SUB_DIRS += ext2 -else - ifeq ($(CONFIG_EXT2_FS),m) - MOD_SUB_DIRS += ext2 - endif -endif - -ifeq ($(CONFIG_FAT_FS),y) -SUB_DIRS += fat -else - ifeq ($(CONFIG_FAT_FS),m) - MOD_SUB_DIRS += fat - endif -endif - -ifeq ($(CONFIG_MSDOS_FS),y) -SUB_DIRS += msdos -else - ifeq ($(CONFIG_MSDOS_FS),m) - MOD_SUB_DIRS += msdos - endif -endif - -ifeq ($(CONFIG_VFAT_FS),y) -SUB_DIRS += vfat -else - ifeq ($(CONFIG_VFAT_FS),m) - MOD_SUB_DIRS += vfat - endif -endif - -ifdef CONFIG_PROC_FS -SUB_DIRS += proc -ifeq ($(CONFIG_SUN_OPENPROMFS),m) -MOD_IN_SUB_DIRS += proc -MOD_TO_LIST += openpromfs.o -endif -endif - -ifeq ($(CONFIG_ISO9660_FS),y) -SUB_DIRS += isofs -else - ifeq ($(CONFIG_ISO9660_FS),m) - MOD_SUB_DIRS += isofs - endif -endif - -ifeq ($(CONFIG_HFS_FS),y) -SUB_DIRS += hfs -else - ifeq ($(CONFIG_HFS_FS),m) - MOD_SUB_DIRS += hfs - endif -endif - -ifeq ($(CONFIG_NFS_FS),y) -SUB_DIRS += nfs -else - ifeq ($(CONFIG_NFS_FS),m) - MOD_SUB_DIRS += nfs - endif -endif - -ifeq ($(CONFIG_NFSD),y) -CONFIG_LOCKD := y -SUB_DIRS += nfsd -else - ifeq ($(CONFIG_NFSD),m) - MOD_SUB_DIRS += nfsd - endif -endif - -ifeq ($(CONFIG_LOCKD),y) -SUB_DIRS += lockd -else - ifeq ($(CONFIG_LOCKD),m) - MOD_SUB_DIRS := lockd $(MOD_SUB_DIRS) - endif -endif - # Since CONFIG_NLS might be set to y while there are modules # to be build in the nls/ directory, we need to enter the nls # directory every time, but with different rules. @@ -135,160 +39,49 @@ endif endif -ifeq ($(CONFIG_UMSDOS_FS),y) -SUB_DIRS += umsdos -else - ifeq ($(CONFIG_UMSDOS_FS),m) - MOD_SUB_DIRS += umsdos - endif -endif - -ifeq ($(CONFIG_SYSV_FS),y) -SUB_DIRS += sysv -else - ifeq ($(CONFIG_SYSV_FS),m) - MOD_SUB_DIRS += sysv - endif -endif - -ifeq ($(CONFIG_SMB_FS),y) -SUB_DIRS += smbfs -else - ifeq ($(CONFIG_SMB_FS),m) - MOD_SUB_DIRS += smbfs - endif -endif - -ifeq ($(CONFIG_NCP_FS),y) -SUB_DIRS += ncpfs -else - ifeq ($(CONFIG_NCP_FS),m) - MOD_SUB_DIRS += ncpfs - endif -endif - -ifeq ($(CONFIG_HPFS_FS),y) -SUB_DIRS += hpfs -else - ifeq ($(CONFIG_HPFS_FS),m) - MOD_SUB_DIRS += hpfs - endif -endif - -ifeq ($(CONFIG_NTFS_FS),y) -SUB_DIRS += ntfs -else - ifeq ($(CONFIG_NTFS_FS),m) - MOD_SUB_DIRS += ntfs - endif -endif - -ifeq ($(CONFIG_UFS_FS),y) -SUB_DIRS += ufs -else - ifeq ($(CONFIG_UFS_FS),m) - MOD_SUB_DIRS += ufs - endif -endif - -ifeq ($(CONFIG_AFFS_FS),y) -SUB_DIRS += affs -else - ifeq ($(CONFIG_AFFS_FS),m) - MOD_SUB_DIRS += affs - endif -endif - -ifeq ($(CONFIG_ROMFS_FS),y) -SUB_DIRS += romfs -else - ifeq ($(CONFIG_ROMFS_FS),m) - MOD_SUB_DIRS += romfs - endif -endif - -ifeq ($(CONFIG_QNX4FS_FS),y) -SUB_DIRS += qnx4 -else - ifeq ($(CONFIG_QNX4FS_FS),m) - MOD_SUB_DIRS += qnx4 - endif -endif - -ifeq ($(CONFIG_EFS_FS),y) -SUB_DIRS += efs -else - ifeq ($(CONFIG_EFS_FS),m) - MOD_SUB_DIRS += efs - endif -endif - -ifeq ($(CONFIG_AUTOFS_FS),y) -SUB_DIRS += autofs -else - ifeq ($(CONFIG_AUTOFS_FS),m) - MOD_SUB_DIRS += autofs - endif -endif - -ifeq ($(CONFIG_ADFS_FS),y) -SUB_DIRS += adfs -else - ifeq ($(CONFIG_ADFS_FS),m) - MOD_SUB_DIRS += adfs - endif -endif - -ifeq ($(CONFIG_DEVPTS_FS),y) -SUB_DIRS += devpts -else - ifeq ($(CONFIG_DEVPTS_FS),m) - MOD_SUB_DIRS += devpts - endif -endif - -ifeq ($(CONFIG_BINFMT_ELF),y) -BINFMTS += binfmt_elf.o -else - ifeq ($(CONFIG_BINFMT_ELF),m) - M_OBJS += binfmt_elf.o - endif -endif - -ifeq ($(CONFIG_BINFMT_AOUT),y) -BINFMTS += binfmt_aout.o -else - ifeq ($(CONFIG_BINFMT_AOUT),m) - M_OBJS += binfmt_aout.o - endif -endif - -ifeq ($(CONFIG_BINFMT_JAVA),y) -BINFMTS += binfmt_java.o -else - ifeq ($(CONFIG_BINFMT_JAVA),m) - M_OBJS += binfmt_java.o - endif -endif - -ifeq ($(CONFIG_BINFMT_EM86),y) -BINFMTS += binfmt_em86.o -else - ifeq ($(CONFIG_BINFMT_EM86),m) - M_OBJS += binfmt_em86.o - endif -endif +BINFMTS_$(CONFIG_BINFMT_ELF) += binfmt_elf.o +BINFMTS_$(CONFIG_BINFMT_AOUT) += binfmt_aout.o +BINFMTS_$(CONFIG_BINFMT_JAVA) += binfmt_java.o +BINFMTS_$(CONFIG_BINFMT_EM86) += binfmt_em86.o +BINFMTS_$(CONFIG_BINFMT_MISC) += binfmt_misc.o +# binfmt_script is always there +BINFMTS_y += binfmt_script.o +OBJ_y := +OBJ_m := +OBJ_n := +SYMTAB_y := +SYMTAB_m := +SYMTAB_n := + +include adfs/Makefile +include affs/Makefile +include autofs/Makefile +include coda/Makefile +include devpts/Makefile +include efs/Makefile +include ext2/Makefile +include fat/Makefile +include hfs/Makefile +include hpfs/Makefile +include isofs/Makefile +include lockd/Makefile +include minix/Makefile +include msdos/Makefile +include ncpfs/Makefile +include nfs/Makefile +include nfsd/Makefile +include ntfs/Makefile +include proc/Makefile +include qnx4/Makefile +include romfs/Makefile +include smbfs/Makefile +include sysv/Makefile +include umsdos/Makefile +include vfat/Makefile +include ufs/Makefile -ifeq ($(CONFIG_BINFMT_MISC),y) -BINFMTS += binfmt_misc.o -else - ifeq ($(CONFIG_BINFMT_MISC),m) - M_OBJS += binfmt_misc.o - endif -endif - -# binfmt_script is always there -BINFMTS += binfmt_script.o +L_OBJS += $(OBJ_y) +M_OBJS += $(OBJ_m) $(BINFMTS_m) -include $(TOPDIR)/Rules.make +include $(TOPDIR)/Makerules diff -urN -X exclude kernel-source-2.2.12/fs/adfs/Makefile linux-2.2.12-nonrec/fs/adfs/Makefile --- kernel-source-2.2.12/fs/adfs/Makefile Wed Jun 24 17:30:09 1998 +++ linux-2.2.12-nonrec/fs/adfs/Makefile Sun Jan 23 13:18:14 2000 @@ -7,8 +7,8 @@ # # Note 2! The CFLAGS definitions are now in the main makefile. -O_TARGET := adfs.o -O_OBJS := dir.o file.o inode.o map.o namei.o super.o -M_OBJS := $(O_TARGET) +OBJ := adfs/adfs.o +OBJS := dir.o file.o inode.o map.o namei.o super.o -include $(TOPDIR)/Rules.make +OBJ_$(CONFIG_ADFS_FS) += $(OBJ) +$(OBJ) : $(addprefix adfs/,$OBJS) diff -urN -X exclude kernel-source-2.2.12/fs/affs/Makefile linux-2.2.12-nonrec/fs/affs/Makefile --- kernel-source-2.2.12/fs/affs/Makefile Wed Jun 24 17:30:09 1998 +++ linux-2.2.12-nonrec/fs/affs/Makefile Sun Jan 23 14:09:14 2000 @@ -7,8 +7,8 @@ # # Note 2! The CFLAGS definitions are now in the main makefile. -O_TARGET := affs.o -O_OBJS := super.o namei.o inode.o file.o dir.o amigaffs.o bitmap.o symlink.o -M_OBJS := $(O_TARGET) +OBJ := affs/affs.o +OBJS := super.o namei.o inode.o file.o dir.o amigaffs.o bitmap.o symlink.o -include $(TOPDIR)/Rules.make +OBJ_$(CONFIG_AFFS_FS) += $(OBJ) +$(OBJ) : $(addprefix affs/,$(OBJS)) diff -urN -X exclude kernel-source-2.2.12/fs/autofs/Makefile linux-2.2.12-nonrec/fs/autofs/Makefile --- kernel-source-2.2.12/fs/autofs/Makefile Wed May 14 01:41:14 1997 +++ linux-2.2.12-nonrec/fs/autofs/Makefile Sun Jan 23 14:28:42 2000 @@ -4,32 +4,8 @@ # We can build this either out of the kernel tree or the autofs tools tree. # -O_TARGET := autofs.o -O_OBJS := dir.o dirhash.o init.o inode.o root.o symlink.o waitq.o +OBJ := autofs/autofs.o +OBJS := dir.o dirhash.o init.o inode.o root.o symlink.o waitq.o -M_OBJS := $(O_TARGET) - -ifdef TOPDIR -# -# Part of the kernel code -# -include $(TOPDIR)/Rules.make -else -# -# Standalone (handy for development) -# -include ../Makefile.rules - -CFLAGS += -D__KERNEL__ -DMODULE $(KFLAGS) -I../include -I$(KINCLUDE) $(MODFLAGS) - -all: $(O_TARGET) - -$(O_TARGET): $(O_OBJS) - $(LD) -r -o $(O_TARGET) $(O_OBJS) - -install: $(O_TARGET) - install -c $(O_TARGET) /lib/modules/`uname -r`/fs - -clean: - rm -f *.o *.s -endif +OBJ_$(CONFIG_AUTOFS_FS) += $(OBJ) +$(OBJ) : $(addprefix autofs/,$(OBJS)) diff -urN -X exclude kernel-source-2.2.12/fs/coda/Makefile linux-2.2.12-nonrec/fs/coda/Makefile --- kernel-source-2.2.12/fs/coda/Makefile Fri Dec 18 15:45:00 1998 +++ linux-2.2.12-nonrec/fs/coda/Makefile Sun Jan 23 15:07:21 2000 @@ -2,14 +2,9 @@ # Makefile for the Linux Coda filesystem routines. # -O_TARGET := coda.o -O_OBJS := psdev.o cache.o cnode.o inode.o dir.o file.o upcall.o coda_linux.o\ - symlink.o pioctl.o sysctl.o -M_OBJS := $(O_TARGET) - -# If you want debugging output, please uncomment the following line. - -# EXTRA_CFLAGS += -DDEBUG -DDEBUG_SMB_MALLOC=1 - -include $(TOPDIR)/Rules.make +OBJ := coda/coda.o +OBJS := psdev.o cache.o cnode.o inode.o dir.o file.o upcall.o \ + coda_linux.o symlink.o pioctl.o sysctl.o +OBJ_$(CONFIG_CODA_FS) += $(OBJ) +$(OBJ) : $(addprefix coda/,$(OBJS)) diff -urN -X exclude kernel-source-2.2.12/fs/devpts/Makefile linux-2.2.12-nonrec/fs/devpts/Makefile --- kernel-source-2.2.12/fs/devpts/Makefile Wed Jun 24 17:30:09 1998 +++ linux-2.2.12-nonrec/fs/devpts/Makefile Sun Jan 23 14:28:57 2000 @@ -2,9 +2,8 @@ # Makefile for the Linux /dev/pts virtual filesystem. # -O_TARGET := devpts.o -O_OBJS := root.o inode.o +OBJ := devpts/devpts.o +OBJS := root.o inode.o -M_OBJS := $(O_TARGET) - -include $(TOPDIR)/Rules.make +OBJ_$(CONFIG_DEVPTS_FS) += $(OBJ) +$(OBJ) : $(addprefix devpts/,$(OBJS)) diff -urN -X exclude kernel-source-2.2.12/fs/efs/Makefile linux-2.2.12-nonrec/fs/efs/Makefile --- kernel-source-2.2.12/fs/efs/Makefile Mon Aug 9 15:04:41 1999 +++ linux-2.2.12-nonrec/fs/efs/Makefile Sun Jan 23 13:29:40 2000 @@ -7,8 +7,8 @@ # # Note 2! The CFLAGS definitions are now in the main makefile... -O_TARGET := efs.o -O_OBJS := super.o inode.o namei.o dir.o file.o symlink.o -M_OBJS := $(O_TARGET) +OBJ := efs/efs.o +OBJS := super.o inode.o namei.o dir.o file.o symlink.o -include $(TOPDIR)/Rules.make +OBJ_$(CONFIG_EFS_FS) += $(OBJ) +$(OBJ) : $(OBJS) diff -urN -X exclude kernel-source-2.2.12/fs/ext2/Makefile linux-2.2.12-nonrec/fs/ext2/Makefile --- kernel-source-2.2.12/fs/ext2/Makefile Mon Sep 23 01:38:18 1996 +++ linux-2.2.12-nonrec/fs/ext2/Makefile Sun Jan 23 15:07:43 2000 @@ -7,9 +7,9 @@ # # Note 2! The CFLAGS definitions are now in the main makefile... -O_TARGET := ext2.o -O_OBJS := acl.o balloc.o bitmap.o dir.o file.o fsync.o ialloc.o inode.o \ - ioctl.o namei.o super.o symlink.o truncate.o -M_OBJS := $(O_TARGET) +OBJ := ext2/ext2.o +OBJS := acl.o balloc.o bitmap.o dir.o file.o fsync.o ialloc.o \ + inode.o ioctl.o namei.o super.o symlink.o truncate.o -include $(TOPDIR)/Rules.make +OBJ_$(CONFIG_EXT2_FS) += $(OBJ) +$(OBJ) : $(addprefix ext2/,$(OBJS)) diff -urN -X exclude kernel-source-2.2.12/fs/fat/Makefile linux-2.2.12-nonrec/fs/fat/Makefile --- kernel-source-2.2.12/fs/fat/Makefile Wed Jun 24 17:30:09 1998 +++ linux-2.2.12-nonrec/fs/fat/Makefile Sun Jan 23 15:04:15 2000 @@ -7,9 +7,10 @@ # # Note 2! The CFLAGS definitions are now in the main makefile. -O_TARGET := fat.o -O_OBJS := buffer.o cache.o dir.o file.o inode.o misc.o mmap.o tables.o cvf.o -OX_OBJS := fatfs_syms.o -M_OBJS := $(O_TARGET) +OBJ := fat/fat.o +OBJS_X := fat/fatfs_syms.o +OBJS := buffer.o cache.o dir.o file.o inode.o misc.o mmap.o tables.o cvf.o -include $(TOPDIR)/Rules.make +OBJ_$(CONFIG_FAT_FS) += $(OBJ) +SYMTAB_$(CONFIG_FAT_FS) += $(OBJS_X) +$(OBJ) : $(OBJS_X) $(addprefix fat/,$(OBJS)) diff -urN -X exclude kernel-source-2.2.12/fs/hfs/Makefile linux-2.2.12-nonrec/fs/hfs/Makefile --- kernel-source-2.2.12/fs/hfs/Makefile Wed Jun 24 17:30:10 1998 +++ linux-2.2.12-nonrec/fs/hfs/Makefile Sun Jan 23 13:35:24 2000 @@ -7,12 +7,11 @@ # # Note 2! The CFLAGS definitions are now in the main makefile. -O_TARGET := hfs.o -O_OBJS := balloc.o bdelete.o bfind.o bins_del.o binsert.o bitmap.o bitops.o \ - bnode.o brec.o btree.o catalog.o dir.o dir_cap.o dir_dbl.o \ - dir_nat.o extent.o file.o file_cap.o file_hdr.o inode.o mdb.o \ - part_tbl.o string.o super.o sysdep.o trans.o version.o +OBJ := hfs/hfs.o +OBJS := balloc.o bdelete.o bfind.o bins_del.o binsert.o bitmap.o bitops.o \ + bnode.o brec.o btree.o catalog.o dir.o dir_cap.o dir_dbl.o \ + dir_nat.o extent.o file.o file_cap.o file_hdr.o inode.o mdb.o \ + part_tbl.o string.o super.o sysdep.o trans.o version.o -M_OBJS := $(O_TARGET) - -include $(TOPDIR)/Rules.make +OBJ_$(CONFIG_HFS_FS) += $(OBJ) +$(OBJ) : $(addprefix hfs/,$(OBJS)) diff -urN -X exclude kernel-source-2.2.12/fs/hpfs/Makefile linux-2.2.12-nonrec/fs/hpfs/Makefile --- kernel-source-2.2.12/fs/hpfs/Makefile Wed Jun 24 17:30:10 1998 +++ linux-2.2.12-nonrec/fs/hpfs/Makefile Sun Jan 23 13:31:34 2000 @@ -7,8 +7,8 @@ # # Note 2! The CFLAGS definitions are now in the main makefile. -O_TARGET := hpfs.o -O_OBJS := hpfs_fs.o hpfs_caps.o -M_OBJS := $(O_TARGET) +OBJ := hpfs/hpfs.o +OBJS := hpfs_fs.o hpfs_caps.o -include $(TOPDIR)/Rules.make +OBJ_$(CONFIG_HPFS_FS) += $(OBJ) +$(OBJ) : $(addprefix hpfs/,$(OBJS)) diff -urN -X exclude kernel-source-2.2.12/fs/isofs/Makefile linux-2.2.12-nonrec/fs/isofs/Makefile --- kernel-source-2.2.12/fs/isofs/Makefile Wed Jun 24 17:30:10 1998 +++ linux-2.2.12-nonrec/fs/isofs/Makefile Sun Jan 23 15:08:17 2000 @@ -7,13 +7,10 @@ # # Note 2! The CFLAGS definitions are now in the main makefile. -O_TARGET := isofs.o -O_OBJS := namei.o inode.o file.o dir.o util.o rock.o symlink.o +OBJ := isofs/isofs.o +OBJS_y := namei.o inode.o file.o dir.o util.o rock.o symlink.o -ifdef CONFIG_JOLIET -O_OBJS += joliet.o -endif +OBJS_$(CONFIG_JOLIET) += joliet.o -M_OBJS := $(O_TARGET) - -include $(TOPDIR)/Rules.make +OBJ_$(CONFIG_ISO9660_FS) += $(OBJ) +$(OBJ) : $(addprefix isofs/,$(OBJS_y)) diff -urN -X exclude kernel-source-2.2.12/fs/lockd/Makefile linux-2.2.12-nonrec/fs/lockd/Makefile --- kernel-source-2.2.12/fs/lockd/Makefile Mon Apr 7 14:35:30 1997 +++ linux-2.2.12-nonrec/fs/lockd/Makefile Sun Jan 23 14:21:16 2000 @@ -7,10 +7,11 @@ # # Note 2! The CFLAGS definitions are now in the main makefile... -O_TARGET := lockd.o -O_OBJS := clntlock.o clntproc.o host.o svc.o svclock.o svcshare.o \ +OBJ := lockd/lockd.o +OBJS_X := lockd/lockd_syms.o +OBJS := clntlock.o clntproc.o host.o svc.o svclock.o svcshare.o \ svcproc.o svcsubs.o mon.o xdr.o -OX_OBJS := lockd_syms.o -M_OBJS := $(O_TARGET) -include $(TOPDIR)/Rules.make +OBJ_$(CONFIG_LOCKD) += $(OBJ) +SYMTAB_$(CONFIG_LOCKD) += $(OBJS_X) +$(OBJ) : $(OBJS_X) $(addprefix lockd/,$(OBJS)) diff -urN -X exclude kernel-source-2.2.12/fs/minix/Makefile linux-2.2.12-nonrec/fs/minix/Makefile --- kernel-source-2.2.12/fs/minix/Makefile Wed Jun 24 17:30:10 1998 +++ linux-2.2.12-nonrec/fs/minix/Makefile Sun Jan 23 15:26:40 2000 @@ -7,8 +7,8 @@ # # Note 2! The CFLAGS definitions are now in the main makefile. -O_TARGET := minix.o -O_OBJS := bitmap.o truncate.o namei.o inode.o file.o dir.o symlink.o fsync.o -M_OBJS := $(O_TARGET) +OBJ := minix/minix.o +OBJS := bitmap.o truncate.o namei.o inode.o file.o dir.o symlink.o fsync.o -include $(TOPDIR)/Rules.make +OBJ_$(CONFIG_MINIX_FS) += $(OBJ) +$(OBJ) : $(addprefix minix/,$(OBJS)) diff -urN -X exclude kernel-source-2.2.12/fs/msdos/Makefile linux-2.2.12-nonrec/fs/msdos/Makefile --- kernel-source-2.2.12/fs/msdos/Makefile Wed Jun 24 17:30:10 1998 +++ linux-2.2.12-nonrec/fs/msdos/Makefile Sun Jan 23 12:11:53 2000 @@ -7,9 +7,10 @@ # # Note 2! The CFLAGS definitions are now in the main makefile. -O_TARGET := msdos.o -O_OBJS := namei.o -OX_OBJS := msdosfs_syms.o -M_OBJS := $(O_TARGET) +OBJ := msdos/msdos.o +OBJS_X := msdos/msdosfs_syms.o +OBJS := msdos/namei.o -include $(TOPDIR)/Rules.make +OBJ_$(CONFIG_MSDOS_FS) += $(OBJ) +SYMTAB_$(CONFIG_MSDOS_FS) += $(OBJS_X) +$(OBJ) : $(OBJS) $(OBJS_X) diff -urN -X exclude kernel-source-2.2.12/fs/ncpfs/Makefile linux-2.2.12-nonrec/fs/ncpfs/Makefile --- kernel-source-2.2.12/fs/ncpfs/Makefile Tue Apr 20 18:17:20 1999 +++ linux-2.2.12-nonrec/fs/ncpfs/Makefile Sun Jan 23 14:08:58 2000 @@ -7,14 +7,14 @@ # # Note 2! The CFLAGS definitions are now in the main makefile. -O_TARGET := ncpfs.o -O_OBJS := dir.o file.o inode.o ioctl.o mmap.o ncplib_kernel.o sock.o \ +OBJ := ncpfs/ncpfs.o +OBJS := dir.o file.o inode.o ioctl.o mmap.o ncplib_kernel.o sock.o \ symlink.o ncpsign_kernel.o -M_OBJS := $(O_TARGET) # If you want debugging output, please uncomment the following line -# EXTRA_CFLAGS += -DDEBUG_NCP=1 +# $(OBJS) : EXTRA_CFLAGS += -DDEBUG_NCP=1 CFLAGS_ncplib_kernel.o := -finline-functions -include $(TOPDIR)/Rules.make +OBJ_$(CONFIG_NCP_FS) += $(OBJ) +$(OBJ) : $(addprefix ncpfs/,$(OBJS)) diff -urN -X exclude kernel-source-2.2.12/fs/nfs/Makefile linux-2.2.12-nonrec/fs/nfs/Makefile --- kernel-source-2.2.12/fs/nfs/Makefile Wed Jun 24 17:30:10 1998 +++ linux-2.2.12-nonrec/fs/nfs/Makefile Sun Jan 23 14:16:43 2000 @@ -7,14 +7,10 @@ # # Note 2! The CFLAGS definitions are now in the main makefile. -O_TARGET := nfs.o -O_OBJS := inode.o file.o read.o write.o dir.o symlink.o proc.o \ - nfs2xdr.o +OBJ := nfs/nfs.o +OBJS_y := inode.o file.o read.o write.o dir.o symlink.o proc.o nfs2xdr.o -ifdef CONFIG_ROOT_NFS - O_OBJS += nfsroot.o mount_clnt.o -endif +OBJS_$(CONFIG_ROOT_NFS) += nfsroot.o mount_clnt.o -M_OBJS := $(O_TARGET) - -include $(TOPDIR)/Rules.make +OBJ_$(CONFIG_NFS_FS) += $(OBJ) +$(OBJ) : $(addprefix nfs/,$(OBJS_y)) diff -urN -X exclude kernel-source-2.2.12/fs/nfsd/Makefile linux-2.2.12-nonrec/fs/nfsd/Makefile --- kernel-source-2.2.12/fs/nfsd/Makefile Tue Dec 29 14:42:25 1998 +++ linux-2.2.12-nonrec/fs/nfsd/Makefile Sun Jan 23 14:23:56 2000 @@ -7,11 +7,9 @@ # # Note 2! The CFLAGS definitions are now in the main makefile. -O_TARGET := nfsd.o -O_OBJS := nfssvc.o nfsctl.o nfsproc.o nfsfh.o vfs.o \ - export.o auth.o lockd.o nfscache.o nfsxdr.o \ - stats.o +OBJ := nfsd/nfsd.o +OBJS := nfssvc.o nfsctl.o nfsproc.o nfsfh.o vfs.o export.o auth.o \ + lockd.o nfscache.o nfsxdr.o stats.o -M_OBJS := $(O_TARGET) - -include $(TOPDIR)/Rules.make +OBJ_$(CONFIG_NFSD) += $(OBJ) +$(OBJ) : $(addprefix nfsd/,$(OBJS)) diff -urN -X exclude kernel-source-2.2.12/fs/nls/Makefile linux-2.2.12-nonrec/fs/nls/Makefile --- kernel-source-2.2.12/fs/nls/Makefile Wed Aug 25 20:29:49 1999 +++ linux-2.2.12-nonrec/fs/nls/Makefile Sun Jan 23 13:16:06 2000 @@ -4,313 +4,49 @@ MOD_LIST_NAME := NLS_MODULES -NLS = nls_base.o +OBJS_y = nls_base.o -ifeq ($(CONFIG_NLS_CODEPAGE_437),y) -NLS += nls_cp437.o -else - ifeq ($(CONFIG_NLS_CODEPAGE_437),m) - M_OBJS += nls_cp437.o - endif -endif - -ifeq ($(CONFIG_NLS_CODEPAGE_737),y) -NLS += nls_cp737.o -else - ifeq ($(CONFIG_NLS_CODEPAGE_737),m) - M_OBJS += nls_cp737.o - endif -endif - -ifeq ($(CONFIG_NLS_CODEPAGE_775),y) -NLS += nls_cp775.o -else - ifeq ($(CONFIG_NLS_CODEPAGE_775),m) - M_OBJS += nls_cp775.o - endif -endif - -ifeq ($(CONFIG_NLS_CODEPAGE_850),y) -NLS += nls_cp850.o -else - ifeq ($(CONFIG_NLS_CODEPAGE_850),m) - M_OBJS += nls_cp850.o - endif -endif - -ifeq ($(CONFIG_NLS_CODEPAGE_852),y) -NLS += nls_cp852.o -else - ifeq ($(CONFIG_NLS_CODEPAGE_852),m) - M_OBJS += nls_cp852.o - endif -endif - -ifeq ($(CONFIG_NLS_CODEPAGE_855),y) -NLS += nls_cp855.o -else - ifeq ($(CONFIG_NLS_CODEPAGE_855),m) - M_OBJS += nls_cp855.o - endif -endif - -ifeq ($(CONFIG_NLS_CODEPAGE_857),y) -NLS += nls_cp857.o -else - ifeq ($(CONFIG_NLS_CODEPAGE_857),m) - M_OBJS += nls_cp857.o - endif -endif - -ifeq ($(CONFIG_NLS_CODEPAGE_860),y) -NLS += nls_cp860.o -else - ifeq ($(CONFIG_NLS_CODEPAGE_860),m) - M_OBJS += nls_cp860.o - endif -endif - -ifeq ($(CONFIG_NLS_CODEPAGE_861),y) -NLS += nls_cp861.o -else - ifeq ($(CONFIG_NLS_CODEPAGE_861),m) - M_OBJS += nls_cp861.o - endif -endif - -ifeq ($(CONFIG_NLS_CODEPAGE_862),y) -NLS += nls_cp862.o -else - ifeq ($(CONFIG_NLS_CODEPAGE_862),m) - M_OBJS += nls_cp862.o - endif -endif - -ifeq ($(CONFIG_NLS_CODEPAGE_863),y) -NLS += nls_cp863.o -else - ifeq ($(CONFIG_NLS_CODEPAGE_863),m) - M_OBJS += nls_cp863.o - endif -endif - -ifeq ($(CONFIG_NLS_CODEPAGE_864),y) -NLS += nls_cp864.o -else - ifeq ($(CONFIG_NLS_CODEPAGE_864),m) - M_OBJS += nls_cp864.o - endif -endif - -ifeq ($(CONFIG_NLS_CODEPAGE_865),y) -NLS += nls_cp865.o -else - ifeq ($(CONFIG_NLS_CODEPAGE_865),m) - M_OBJS += nls_cp865.o - endif -endif - -ifeq ($(CONFIG_NLS_CODEPAGE_866),y) -NLS += nls_cp866.o -else - ifeq ($(CONFIG_NLS_CODEPAGE_866),m) - M_OBJS += nls_cp866.o - endif -endif - -ifeq ($(CONFIG_NLS_CODEPAGE_869),y) -NLS += nls_cp869.o -else - ifeq ($(CONFIG_NLS_CODEPAGE_869),m) - M_OBJS += nls_cp869.o - endif -endif - -ifeq ($(CONFIG_NLS_CODEPAGE_874),y) -NLS += nls_cp874.o -else - ifeq ($(CONFIG_NLS_CODEPAGE_874),m) - M_OBJS += nls_cp874.o - endif -endif - -ifeq ($(CONFIG_NLS_CODEPAGE_1250),y) -NLS += nls_cp1250.o -else - ifeq ($(CONFIG_NLS_CODEPAGE_1250),m) - M_OBJS += nls_cp1250.o - endif -endif - -ifeq ($(CONFIG_NLS_CODEPAGE_1251),y) -NLS += nls_cp1251.o -else - ifeq ($(CONFIG_NLS_CODEPAGE_1251),m) - M_OBJS += nls_cp1251.o - endif -endif - -ifeq ($(CONFIG_NLS_CODEPAGE_1252),y) -NLS += nls_cp1252.o -else - ifeq ($(CONFIG_NLS_CODEPAGE_1252),m) - M_OBJS += nls_cp1252.o - endif -endif - -ifeq ($(CONFIG_NLS_CODEPAGE_1253),y) -NLS += nls_cp1253.o -else - ifeq ($(CONFIG_NLS_CODEPAGE_1253),m) - M_OBJS += nls_cp1253.o - endif -endif - -ifeq ($(CONFIG_NLS_CODEPAGE_1254),y) -NLS += nls_cp1254.o -else - ifeq ($(CONFIG_NLS_CODEPAGE_1254),m) - M_OBJS += nls_cp1254.o - endif -endif - -ifeq ($(CONFIG_NLS_CODEPAGE_1255),y) -NLS += nls_cp1255.o -else - ifeq ($(CONFIG_NLS_CODEPAGE_1255),m) - M_OBJS += nls_cp1255.o - endif -endif - -ifeq ($(CONFIG_NLS_CODEPAGE_1256),y) -NLS += nls_cp1256.o -else - ifeq ($(CONFIG_NLS_CODEPAGE_1256),m) - M_OBJS += nls_cp1256.o - endif -endif - -ifeq ($(CONFIG_NLS_CODEPAGE_1257),y) -NLS += nls_cp1257.o -else - ifeq ($(CONFIG_NLS_CODEPAGE_1257),m) - M_OBJS += nls_cp1257.o - endif -endif - -ifeq ($(CONFIG_NLS_CODEPAGE_1258),y) -NLS += nls_cp1258.o -else - ifeq ($(CONFIG_NLS_CODEPAGE_1258),m) - M_OBJS += nls_cp1258.o - endif -endif - -ifeq ($(CONFIG_NLS_ISO8859_1),y) -NLS += nls_iso8859-1.o -else - ifeq ($(CONFIG_NLS_ISO8859_1),m) - M_OBJS += nls_iso8859-1.o - endif -endif - -ifeq ($(CONFIG_NLS_ISO8859_2),y) -NLS += nls_iso8859-2.o -else - ifeq ($(CONFIG_NLS_ISO8859_2),m) - M_OBJS += nls_iso8859-2.o - endif -endif - -ifeq ($(CONFIG_NLS_ISO8859_3),y) -NLS += nls_iso8859-3.o -else - ifeq ($(CONFIG_NLS_ISO8859_3),m) - M_OBJS += nls_iso8859-3.o - endif -endif - -ifeq ($(CONFIG_NLS_ISO8859_4),y) -NLS += nls_iso8859-4.o -else - ifeq ($(CONFIG_NLS_ISO8859_4),m) - M_OBJS += nls_iso8859-4.o - endif -endif - -ifeq ($(CONFIG_NLS_ISO8859_5),y) -NLS += nls_iso8859-5.o -else - ifeq ($(CONFIG_NLS_ISO8859_5),m) - M_OBJS += nls_iso8859-5.o - endif -endif - -ifeq ($(CONFIG_NLS_ISO8859_6),y) -NLS += nls_iso8859-6.o -else - ifeq ($(CONFIG_NLS_ISO8859_6),m) - M_OBJS += nls_iso8859-6.o - endif -endif - -ifeq ($(CONFIG_NLS_ISO8859_7),y) -NLS += nls_iso8859-7.o -else - ifeq ($(CONFIG_NLS_ISO8859_7),m) - M_OBJS += nls_iso8859-7.o - endif -endif - -ifeq ($(CONFIG_NLS_ISO8859_8),y) -NLS += nls_iso8859-8.o -else - ifeq ($(CONFIG_NLS_ISO8859_8),m) - M_OBJS += nls_iso8859-8.o - endif -endif - -ifeq ($(CONFIG_NLS_ISO8859_9),y) -NLS += nls_iso8859-9.o -else - ifeq ($(CONFIG_NLS_ISO8859_9),m) - M_OBJS += nls_iso8859-9.o - endif -endif - -ifeq ($(CONFIG_NLS_ISO8859_10),y) -NLS += nls_iso8859-10.o -else - ifeq ($(CONFIG_NLS_ISO8859_10),m) - M_OBJS += nls_iso8859-10.o - endif -endif - -ifeq ($(CONFIG_NLS_ISO8859_14),y) -NLS += nls_iso8859-14.o -else - ifeq ($(CONFIG_NLS_ISO8859_14),m) - M_OBJS += nls_iso8859-14.o - endif -endif - -ifeq ($(CONFIG_NLS_ISO8859_15),y) -NLS += nls_iso8859-15.o -else - ifeq ($(CONFIG_NLS_ISO8859_15),m) - M_OBJS += nls_iso8859-15.o - endif -endif - -ifeq ($(CONFIG_NLS_KOI8_R),y) -NLS += nls_koi8-r.o -else - ifeq ($(CONFIG_NLS_KOI8_R),m) - M_OBJS += nls_koi8-r.o - endif -endif +OBJS_$(CONFIG_NLS_CODEPAGE_437) += nls_cp437.o +OBJS_$(CONFIG_NLS_CODEPAGE_737) += nls_cp737.o +OBJS_$(CONFIG_NLS_CODEPAGE_775) += nls_cp775.o +OBJS_$(CONFIG_NLS_CODEPAGE_850) += nls_cp850.o +OBJS_$(CONFIG_NLS_CODEPAGE_852) += nls_cp852.o +OBJS_$(CONFIG_NLS_CODEPAGE_855) += nls_cp855.o +OBJS_$(CONFIG_NLS_CODEPAGE_857) += nls_cp857.o +OBJS_$(CONFIG_NLS_CODEPAGE_860) += nls_cp860.o +OBJS_$(CONFIG_NLS_CODEPAGE_861) += nls_cp861.o +OBJS_$(CONFIG_NLS_CODEPAGE_862) += nls_cp862.o +OBJS_$(CONFIG_NLS_CODEPAGE_863) += nls_cp863.o +OBJS_$(CONFIG_NLS_CODEPAGE_864) += nls_cp864.o +OBJS_$(CONFIG_NLS_CODEPAGE_865) += nls_cp865.o +OBJS_$(CONFIG_NLS_CODEPAGE_866) += nls_cp866.o +OBJS_$(CONFIG_NLS_CODEPAGE_869) += nls_cp869.o +OBJS_$(CONFIG_NLS_CODEPAGE_874) += nls_cp874.o +OBJS_$(CONFIG_NLS_CODEPAGE_1250) += nls_cp1250.o +OBJS_$(CONFIG_NLS_CODEPAGE_1251) += nls_cp1251.o +OBJS_$(CONFIG_NLS_CODEPAGE_1252) += nls_cp1252.o +OBJS_$(CONFIG_NLS_CODEPAGE_1253) += nls_cp1253.o +OBJS_$(CONFIG_NLS_CODEPAGE_1254) += nls_cp1254.o +OBJS_$(CONFIG_NLS_CODEPAGE_1255) += nls_cp1255.o +OBJS_$(CONFIG_NLS_CODEPAGE_1256) += nls_cp1256.o +OBJS_$(CONFIG_NLS_CODEPAGE_1257) += nls_cp1257.o +OBJS_$(CONFIG_NLS_CODEPAGE_1258) += nls_cp1258.o +OBJS_$(CONFIG_NLS_ISO8859_1) += nls_iso8859-1.o +OBJS_$(CONFIG_NLS_ISO8859_2) += nls_iso8859-2.o +OBJS_$(CONFIG_NLS_ISO8859_3) += nls_iso8859-3.o +OBJS_$(CONFIG_NLS_ISO8859_4) += nls_iso8859-4.o +OBJS_$(CONFIG_NLS_ISO8859_5) += nls_iso8859-5.o +OBJS_$(CONFIG_NLS_ISO8859_6) += nls_iso8859-6.o +OBJS_$(CONFIG_NLS_ISO8859_7) += nls_iso8859-7.o +OBJS_$(CONFIG_NLS_ISO8859_8) += nls_iso8859-8.o +OBJS_$(CONFIG_NLS_ISO8859_9) += nls_iso8859-9.o +OBJS_$(CONFIG_NLS_ISO8859_10) += nls_iso8859-10.o +OBJS_$(CONFIG_NLS_ISO8859_14) += nls_iso8859-14.o +OBJS_$(CONFIG_NLS_ISO8859_15) += nls_iso8859-15.o +OBJS_$(CONFIG_NLS_KOI8_R) += nls_koi8-r.o O_TARGET = nls.o -OX_OBJS = $(NLS) +OX_OBJS = $(OBJS_y) +M_OBJS = $(OBJS_m) include $(TOPDIR)/Rules.make diff -urN -X exclude kernel-source-2.2.12/fs/ntfs/Makefile linux-2.2.12-nonrec/fs/ntfs/Makefile --- kernel-source-2.2.12/fs/ntfs/Makefile Mon Apr 12 13:05:58 1999 +++ linux-2.2.12-nonrec/fs/ntfs/Makefile Sun Jan 23 15:09:21 2000 @@ -1,9 +1,10 @@ # Rules for making the NTFS driver -O_TARGET := ntfs.o -O_OBJS := fs.o sysctl.o support.o util.o inode.o dir.o super.o attr.o -M_OBJS := $(O_TARGET) -EXTRA_CFLAGS = -DNTFS_IN_LINUX_KERNEL -DNTFS_VERSION=\"990411\" +OBJ := ntfs/ntfs.o +OBJS := fs.o sysctl.o support.o util.o inode.o dir.o super.o attr.o -include $(TOPDIR)/Rules.make +CFLAGS_ntfs/fs.o = -DNTFS_VERSION=\"990411\" +$(OBJS) : EXTRA_CFLAGS += -DNTFS_IN_LINUX_KERNEL +OBJ_$(CONFIG_NTFS_FS) += $(OBJ) +$(OBJ) : $(addprefix ntfs/,$(OBJS)) diff -urN -X exclude kernel-source-2.2.12/fs/proc/Makefile linux-2.2.12-nonrec/fs/proc/Makefile --- kernel-source-2.2.12/fs/proc/Makefile Wed Jun 24 17:30:10 1998 +++ linux-2.2.12-nonrec/fs/proc/Makefile Sun Jan 23 14:55:39 2000 @@ -7,25 +7,21 @@ # # Note 2! The CFLAGS definitions are now in the main makefile. -O_TARGET := proc.o -O_OBJS := inode.o root.o base.o generic.o mem.o link.o fd.o array.o \ +OBJ := proc/proc.o +OBJS_X := proc/procfs_syms.o +OBJS_y := inode.o root.o base.o generic.o mem.o link.o fd.o array.o \ kmsg.o scsi.o proc_tty.o -ifdef CONFIG_OMIRR -O_OBJS := $(O_OBJS) omirr.o -endif -OX_OBJS := procfs_syms.o -M_OBJS := + +OBJS_$(CONFIG_OMIRR) += omirr.o + +OBJS_$(CONFIG_PROC_DEVICETREE) += proc_devtree.o ifeq ($(CONFIG_SUN_OPENPROMFS),y) -O_OBJS += openpromfs.o +OBJS_y += openpromfs.o else - ifeq ($(CONFIG_SUN_OPENPROMFS),m) - M_OBJS += openpromfs.o - endif -endif - -ifeq ($(CONFIG_PROC_DEVICETREE),y) -O_OBJS += proc_devtree.o +OBJ_$(CONFIG_SUN_OPENPROMFS) += proc/openpromfs.o endif -include $(TOPDIR)/Rules.make +OBJ_$(CONFIG_PROC_FS) += $(OBJ) +SYMTAB_$(CONFIG_PROC_FS) += $(OBJS_X) +$(OBJ) : $(OBJS_X) $(addprefix proc/,$(OBJS_y)) diff -urN -X exclude kernel-source-2.2.12/fs/qnx4/Makefile linux-2.2.12-nonrec/fs/qnx4/Makefile --- kernel-source-2.2.12/fs/qnx4/Makefile Mon Aug 31 16:01:35 1998 +++ linux-2.2.12-nonrec/fs/qnx4/Makefile Sun Jan 23 13:20:33 2000 @@ -7,9 +7,9 @@ # # Note 2! The CFLAGS definitions are now in the main makefile... -O_TARGET := qnx4.o -O_OBJS := inode.o dir.o namei.o file.o bitmap.o symlinks.o truncate.o \ -fsync.o -M_OBJS := $(O_TARGET) +OBJ := qnx4/qnx4.o +OBJS := inode.o dir.o namei.o file.o bitmap.o symlinks.o truncate.o \ + fsync.o -include $(TOPDIR)/Rules.make +OBJ_$(CONFIG_QNX4_FS) += $(OBJ) +$(OBJ) : $(addprefix qnx4,$(OBJS)) diff -urN -X exclude kernel-source-2.2.12/fs/romfs/Makefile linux-2.2.12-nonrec/fs/romfs/Makefile --- kernel-source-2.2.12/fs/romfs/Makefile Wed Jun 24 17:30:10 1998 +++ linux-2.2.12-nonrec/fs/romfs/Makefile Sun Jan 23 14:11:12 2000 @@ -7,8 +7,8 @@ # # Note 2! The CFLAGS definitions are now in the main makefile. -O_TARGET := romfs.o -O_OBJS := inode.o -M_OBJS := $(O_TARGET) +OBJ := romfs/romfs.o +OBJS := romfs/inode.o -include $(TOPDIR)/Rules.make +OBJ_$(CONFIG_ROMFS_FS) += $(OBJ) +$(OBJ) : $(OBJS) diff -urN -X exclude kernel-source-2.2.12/fs/smbfs/Makefile linux-2.2.12-nonrec/fs/smbfs/Makefile --- kernel-source-2.2.12/fs/smbfs/Makefile Sun Oct 12 13:17:05 1997 +++ linux-2.2.12-nonrec/fs/smbfs/Makefile Sun Jan 23 15:05:40 2000 @@ -7,12 +7,10 @@ # # Note 2! The CFLAGS definitions are now in the main makefile... -O_TARGET := smbfs.o -O_OBJS := proc.o dir.o cache.o sock.o inode.o file.o ioctl.o -M_OBJS := $(O_TARGET) - +OBJ := smbfs/smbfs.o +OBJS := proc.o dir.o cache.o sock.o inode.o file.o ioctl.o # If you want debugging output, please uncomment the following line +# $(OBJS) : EXTRA_CFLAGS += -DDEBUG -DDEBUG_SMB_MALLOC=1 -# EXTRA_CFLAGS += -DDEBUG -DDEBUG_SMB_MALLOC=1 - -include $(TOPDIR)/Rules.make +OBJ_$(CONFIG_SMB_FS) += $(OBJ) +$(OBJ) : $(addprefix smbfs/,$(OBJS)) diff -urN -X exclude kernel-source-2.2.12/fs/sysv/Makefile linux-2.2.12-nonrec/fs/sysv/Makefile --- kernel-source-2.2.12/fs/sysv/Makefile Thu Jun 25 13:57:35 1998 +++ linux-2.2.12-nonrec/fs/sysv/Makefile Sun Jan 23 13:32:53 2000 @@ -7,9 +7,9 @@ # # Note 2! The CFLAGS definitions are now in the main makefile. -O_TARGET := sysv.o -O_OBJS := ialloc.o balloc.o inode.o file.o dir.o symlink.o namei.o \ +OBJ := sysv/sysv.o +OBJS := ialloc.o balloc.o inode.o file.o dir.o symlink.o namei.o \ fsync.o truncate.o -M_OBJS := $(O_TARGET) -include $(TOPDIR)/Rules.make +OBJ_$(CONFIG_SYSV_FS) += $(OBJ) +$(OBJ) : $(addprefix sysv/,$(OBJS)) diff -urN -X exclude kernel-source-2.2.12/fs/ufs/Makefile linux-2.2.12-nonrec/fs/ufs/Makefile --- kernel-source-2.2.12/fs/ufs/Makefile Sun Jul 26 04:20:22 1998 +++ linux-2.2.12-nonrec/fs/ufs/Makefile Sun Jan 23 15:29:11 2000 @@ -7,9 +7,9 @@ # # Note 2! The CFLAGS definitions are now in the main makefile. -O_TARGET := ufs.o -O_OBJS := acl.o balloc.o cylinder.o dir.o file.o ialloc.o inode.o \ +OBJ := ufs/ufs.o +OBJS := acl.o balloc.o cylinder.o dir.o file.o ialloc.o inode.o \ namei.o super.o symlink.o truncate.o util.o -M_OBJS := $(O_TARGET) -include $(TOPDIR)/Rules.make +OBJ_$(CONFIG_UFS_FS) += $(OBJ) +$(OBJ) : $(addprefix ufs/,$(OBJS)) diff -urN -X exclude kernel-source-2.2.12/fs/umsdos/Makefile linux-2.2.12-nonrec/fs/umsdos/Makefile --- kernel-source-2.2.12/fs/umsdos/Makefile Wed Sep 9 12:01:19 1998 +++ linux-2.2.12-nonrec/fs/umsdos/Makefile Sun Jan 23 15:06:32 2000 @@ -6,20 +6,10 @@ # unless it's something special (not a .c file). # # Note 2: the CFLAGS definitions are now in the main makefile. -O_TARGET := umsdos.o -O_OBJS := dir.o file.o inode.o ioctl.o mangle.o namei.o \ +OBJ := umsdos/umsdos.o +OBJS := dir.o file.o inode.o ioctl.o mangle.o namei.o \ rdir.o symlink.o emd.o check.o -M_OBJS := $(O_TARGET) - -include $(TOPDIR)/Rules.make - -clean: - rm -f core *.o *.a *.s - -p: - proto *.c >/usr/include/linux/umsdos_fs.p - -doc: - nadoc -i -p umsdos.doc - /tmp/umsdos.mpg +OBJ_$(CONFIG_UMSDOS_FS) += $(OBJ) +$(OBJ) : $(addprefix umsdos/,$(OBJS)) diff -urN -X exclude kernel-source-2.2.12/fs/vfat/Makefile linux-2.2.12-nonrec/fs/vfat/Makefile --- kernel-source-2.2.12/fs/vfat/Makefile Thu Oct 23 17:00:15 1997 +++ linux-2.2.12-nonrec/fs/vfat/Makefile Sun Jan 23 12:16:38 2000 @@ -7,9 +7,10 @@ # # Note 2! The CFLAGS definitions are now in the main makefile... -O_TARGET := vfat.o -O_OBJS := namei.o -OX_OBJS := vfatfs_syms.o -M_OBJS := $(O_TARGET) +OBJ := vfat/vfat.o +OBJS_X := vfat/vfatfs_syms.o +OBJS := vfat/namei.o -include $(TOPDIR)/Rules.make +OBJ_$(CONFIG_VFAT_FS) += $(OBJ) +SYMTAB_$(CONFIG_VFAT_FS) += $(OBJS_X) +$(OBJ) : $(OBJS) $(OBJS_X) - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |