Commit 71a15636 authored by Linus Torvalds's avatar Linus Torvalds

Merge http://linux-isdn.bkbits.net/linux-2.5.make

into home.transmeta.com:/home/torvalds/v2.5/linux
parents 8e76c34e 0e53dc63
...@@ -12,16 +12,16 @@ EPS-parportbook := $(patsubst %.fig, %.eps, $(IMG-parportbook)) ...@@ -12,16 +12,16 @@ EPS-parportbook := $(patsubst %.fig, %.eps, $(IMG-parportbook))
PNG-parportbook := $(patsubst %.fig, %.png, $(IMG-parportbook)) PNG-parportbook := $(patsubst %.fig, %.png, $(IMG-parportbook))
C-procfs-example = procfs_example.sgml C-procfs-example = procfs_example.sgml
$(TOPDIR)/scripts/docgen: dummy $(TOPDIR)/scripts/docgen: FORCE
chmod 755 $(TOPDIR)/scripts/docgen chmod 755 $(TOPDIR)/scripts/docgen
$(TOPDIR)/scripts/gen-all-syms: dummy $(TOPDIR)/scripts/gen-all-syms: FORCE
chmod 755 $(TOPDIR)/scripts/gen-all-syms chmod 755 $(TOPDIR)/scripts/gen-all-syms
$(TOPDIR)/scripts/kernel-doc: dummy $(TOPDIR)/scripts/kernel-doc: FORCE
chmod 755 $(TOPDIR)/scripts/kernel-doc chmod 755 $(TOPDIR)/scripts/kernel-doc
$(TOPDIR)/scripts/docproc: dummy $(TOPDIR)/scripts/docproc: FORCE
$(MAKE) -C $(TOPDIR)/scripts docproc $(MAKE) -C $(TOPDIR)/scripts docproc
$(BOOKS): $(TOPDIR)/scripts/docgen $(TOPDIR)/scripts/gen-all-syms \ $(BOOKS): $(TOPDIR)/scripts/docgen $(TOPDIR)/scripts/gen-all-syms \
......
...@@ -172,7 +172,7 @@ export NETWORKS DRIVERS LIBS HEAD LDFLAGS LINKFLAGS MAKEBOOT ASFLAGS ...@@ -172,7 +172,7 @@ export NETWORKS DRIVERS LIBS HEAD LDFLAGS LINKFLAGS MAKEBOOT ASFLAGS
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
boot: vmlinux boot: vmlinux
@$(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_KERNEL)" AFLAGS="$(AFLAGS) $(AFLAGS_KERNEL)" -C arch/$(ARCH)/boot @$(MAKE) -C arch/$(ARCH)/boot
# Build vmlinux # Build vmlinux
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
...@@ -202,29 +202,25 @@ define rule_link_vmlinux ...@@ -202,29 +202,25 @@ define rule_link_vmlinux
echo Generating build number echo Generating build number
. scripts/mkversion > .tmpversion . scripts/mkversion > .tmpversion
mv -f .tmpversion .version mv -f .tmpversion .version
$(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_KERNEL)" AFLAGS="$(AFLAGS) $(AFLAGS_KERNEL)" -C init $(MAKE) -C init
echo $(cmd_link_vmlinux) echo $(cmd_link_vmlinux)
$(cmd_link_vmlinux) $(cmd_link_vmlinux)
echo 'cmd_$@ := $(cmd_link_vmlinux)' > $(@D)/.$(@F).cmd echo 'cmd_$@ := $(cmd_link_vmlinux)' > $(@D)/.$(@F).cmd
$(NM) vmlinux | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | sort > System.map $(NM) vmlinux | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | sort > System.map
endef endef
vmlinux: $(CONFIGURATION) $(vmlinux-objs) dummy vmlinux: $(CONFIGURATION) $(vmlinux-objs) FORCE
$(call if_changed_rule,link_vmlinux) $(call if_changed_rule,link_vmlinux)
# The actual objects are generated when descending, make sure # The actual objects are generated when descending,
# no implicit rule kicks in # make sure no implicit rule kicks in
$(sort $(vmlinux-objs)): linuxsubdirs $(sort $(vmlinux-objs)): $(SUBDIRS) ;
@
# Handle descending into subdirectories listed in $(SUBDIRS) # Handle descending into subdirectories listed in $(SUBDIRS)
.PHONY: linuxsubdirs $(SUBDIRS): FORCE include/linux/version.h include/config/MARKER
linuxsubdirs: $(patsubst %, _dir_%, $(SUBDIRS)) @$(MAKE) -C $@
$(patsubst %, _dir_%, $(SUBDIRS)) : dummy include/linux/version.h include/config/MARKER
@$(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_KERNEL)" AFLAGS="$(AFLAGS) $(AFLAGS_KERNEL)" -C $(patsubst _dir_%, %, $@)
# Configuration # Configuration
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
...@@ -266,8 +262,6 @@ include/linux/version.h: ./Makefile ...@@ -266,8 +262,6 @@ include/linux/version.h: ./Makefile
@echo Generating $@ @echo Generating $@
@. scripts/mkversion_h $@ $(KERNELRELEASE) $(VERSION) $(PATCHLEVEL) $(SUBLEVEL) @. scripts/mkversion_h $@ $(KERNELRELEASE) $(VERSION) $(PATCHLEVEL) $(SUBLEVEL)
comma := ,
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
# Generate dependencies # Generate dependencies
...@@ -296,7 +290,7 @@ modules: $(patsubst %, _mod_%, $(SUBDIRS)) ...@@ -296,7 +290,7 @@ modules: $(patsubst %, _mod_%, $(SUBDIRS))
.PHONY: $(patsubst %, _mod_%, $(SUBDIRS)) .PHONY: $(patsubst %, _mod_%, $(SUBDIRS))
$(patsubst %, _mod_%, $(SUBDIRS)) : include/linux/version.h include/config/MARKER $(patsubst %, _mod_%, $(SUBDIRS)) : include/linux/version.h include/config/MARKER
@$(MAKE) -C $(patsubst _mod_%, %, $@) CFLAGS="$(CFLAGS) $(CFLAGS_MODULE)" AFLAGS="$(AFLAGS) $(AFLAGS_MODULE)" modules @$(MAKE) -C $(patsubst _mod_%, %, $@) modules
# Install modules # Install modules
...@@ -333,7 +327,7 @@ else # CONFIG_MODULES ...@@ -333,7 +327,7 @@ else # CONFIG_MODULES
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
# Modules not configured # Modules not configured
modules modules_install: dummy modules modules_install: FORCE
@echo @echo
@echo "The present kernel configuration has modules disabled." @echo "The present kernel configuration has modules disabled."
@echo "Type 'make config' and enable loadable module support." @echo "Type 'make config' and enable loadable module support."
...@@ -480,25 +474,18 @@ checkincludes: ...@@ -480,25 +474,18 @@ checkincludes:
# Generate tags for editors # Generate tags for editors
TAGS: dummy TAGS: FORCE
{ find include/asm-${ARCH} -name '*.h' -print ; \ { find include/asm-${ARCH} -name '*.h' -print ; \
find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' -print ; \ find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' -print ; \
find $(SUBDIRS) init -name '*.[ch]' ; } | grep -v SCCS | etags - find $(SUBDIRS) init -name '*.[ch]' ; } | grep -v SCCS | etags -
# Exuberant ctags works better with -I # Exuberant ctags works better with -I
tags: dummy tags: FORCE
CTAGSF=`ctags --version | grep -i exuberant >/dev/null && echo "-I __initdata,__exitdata,EXPORT_SYMBOL,EXPORT_SYMBOL_NOVERS"`; \ CTAGSF=`ctags --version | grep -i exuberant >/dev/null && echo "-I __initdata,__exitdata,EXPORT_SYMBOL,EXPORT_SYMBOL_NOVERS"`; \
ctags $$CTAGSF `find include/asm-$(ARCH) -name '*.h'` && \ ctags $$CTAGSF `find include/asm-$(ARCH) -name '*.h'` && \
find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' -print | xargs ctags $$CTAGSF -a && \ find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' -print | xargs ctags $$CTAGSF -a && \
find $(SUBDIRS) init -name '*.[ch]' | xargs ctags $$CTAGSF -a find $(SUBDIRS) init -name '*.[ch]' | xargs ctags $$CTAGSF -a
# Targets which will only descend into one subdir, not trying
# to link vmlinux afterwards
# FIXME: anybody still using this?
fs lib mm ipc kernel drivers net sound: dummy
$(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_KERNEL)" AFLAGS="$(AFLAGS) $(AFLAGS_KERNEL)" $(subst $@, _dir_$@, $@)
# Make a backup # Make a backup
# FIXME anybody still using this? # FIXME anybody still using this?
......
...@@ -2,11 +2,6 @@ ...@@ -2,11 +2,6 @@
# This file contains rules which are shared between multiple Makefiles. # This file contains rules which are shared between multiple Makefiles.
# #
#
# False targets.
#
.PHONY: dummy
# #
# Special variables which should not be exported # Special variables which should not be exported
# #
...@@ -31,7 +26,25 @@ unexport subdir-n ...@@ -31,7 +26,25 @@ unexport subdir-n
unexport subdir- unexport subdir-
unexport mod-subdirs unexport mod-subdirs
comma := , # Some standard vars
comma := ,
empty :=
space := $(empty) $(empty)
# Figure out paths
# ---------------------------------------------------------------------------
# Find the path relative to the toplevel dir, $(RELDIR), and express
# the toplevel dir as a relative path from this dir, $(TOPDIR_REL)
ifeq ($(findstring $(TOPDIR),$(CURDIR)),)
# Can only happen when something is built out of tree
RELDIR := $(CURDIR)
TOPDIR_REL := $(TOPDIR)
else
RELDIR := $(subst $(TOPDIR)/,,$(CURDIR))
TOPDIR_REL := $(subst $(space),,$(foreach d,$(subst /, ,$(RELDIR)),../))
endif
# Figure out what we need to build from the various variables # Figure out what we need to build from the various variables
# =========================================================================== # ===========================================================================
...@@ -110,38 +123,59 @@ first_rule: all_targets ...@@ -110,38 +123,59 @@ first_rule: all_targets
# Compile C sources (.c) # Compile C sources (.c)
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
$(export-objs): export_flags := $(EXPORT_FLAGS) # FIXME: if we don't know if built-in or modular, assume built-in.
# Only happens in Makefiles which override the default first_rule:
modkern_cflags := $(CFLAGS_KERNEL)
$(real-objs-y) : modkern_cflags := $(CFLAGS_KERNEL)
$(real-objs-y:.o=.i): modkern_cflags := $(CFLAGS_KERNEL)
$(real-objs-y:.o=.s): modkern_cflags := $(CFLAGS_KERNEL)
$(real-objs-m) : modkern_cflags := $(CFLAGS_MODULE)
$(real-objs-m:.o=.i): modkern_cflags := $(CFLAGS_MODULE)
$(real-objs-m:.o=.s): modkern_cflags := $(CFLAGS_MODULE)
$(export-objs) : export_flags := $(EXPORT_FLAGS)
c_flags = $(CFLAGS) $(EXTRA_CFLAGS) $(CFLAGS_$(*F).o) -DKBUILD_BASENAME=$(subst $(comma),_,$(subst -,_,$(*F))) $(export_flags) c_flags = $(CFLAGS) $(modkern_cflags) $(EXTRA_CFLAGS) $(CFLAGS_$(*F).o) -DKBUILD_BASENAME=$(subst $(comma),_,$(subst -,_,$(*F))) $(export_flags)
cmd_cc_s_c = $(CC) $(c_flags) -S $< -o $@ cmd_cc_s_c = $(CC) $(c_flags) -S $< -o $@
%.s: %.c dummy %.s: %.c FORCE
$(call if_changed,cmd_cc_s_c) $(call if_changed,cmd_cc_s_c)
cmd_cc_i_c = $(CPP) $(c_flags) $< > $@ cmd_cc_i_c = $(CPP) $(c_flags) $< > $@
%.i: %.c dummy %.i: %.c FORCE
$(call if_changed,cmd_cc_i_c) $(call if_changed,cmd_cc_i_c)
cmd_cc_o_c = $(CC) $(c_flags) -c -o $@ $< cmd_cc_o_c = $(CC) $(c_flags) -c -o $@ $<
%.o: %.c dummy %.o: %.c FORCE
$(call if_changed,cmd_cc_o_c) $(call if_changed,cmd_cc_o_c)
# Compile assembler sources (.S) # Compile assembler sources (.S)
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
a_flags = $(AFLAGS) $(EXTRA_AFLAGS) $(AFLAGS_$(*F).o) # FIXME (s.a.)
modkern_aflags := $(AFLAGS_KERNEL)
$(real-objs-y) : modkern_aflags := $(AFLAGS_KERNEL)
$(real-objs-y:.o=.s): modkern_aflags := $(AFLAGS_KERNEL)
$(real-objs-m) : modkern_aflags := $(AFLAGS_MODULE)
$(real-objs-m:.o=.s): modkern_aflags := $(AFLAGS_MODULE)
a_flags = $(AFLAGS) $(modkern_aflags) $(EXTRA_AFLAGS) $(AFLAGS_$(*F).o)
cmd_as_s_S = $(CPP) $(a_flags) $< > $@ cmd_as_s_S = $(CPP) $(a_flags) $< > $@
%.s: %.S dummy %.s: %.S FORCE
$(call if_changed,cmd_as_s_S) $(call if_changed,cmd_as_s_S)
cmd_as_o_S = $(CC) $(a_flags) -c -o $@ $< cmd_as_o_S = $(CC) $(a_flags) -c -o $@ $<
%.o: %.S dummy %.o: %.S FORCE
$(call if_changed,cmd_as_o_S) $(call if_changed,cmd_as_o_S)
# FIXME # FIXME
...@@ -166,7 +200,7 @@ endif ...@@ -166,7 +200,7 @@ endif
all_targets: $(O_TARGET) $(L_TARGET) sub_dirs all_targets: $(O_TARGET) $(L_TARGET) sub_dirs
# To build objects in subdirs, we need to descend into the directories # To build objects in subdirs, we need to descend into the directories
$(subdir-obj-y): sub_dirs $(sort $(subdir-obj-y)): sub_dirs ;
# #
# Rule to compile a set of .o files into one .o file # Rule to compile a set of .o files into one .o file
...@@ -177,7 +211,7 @@ cmd_link_o_target = $(if $(strip $(obj-y)),\ ...@@ -177,7 +211,7 @@ cmd_link_o_target = $(if $(strip $(obj-y)),\
$(LD) $(EXTRA_LDFLAGS) -r -o $@ $(filter $(obj-y), $^),\ $(LD) $(EXTRA_LDFLAGS) -r -o $@ $(filter $(obj-y), $^),\
rm -f $@; $(AR) rcs $@) rm -f $@; $(AR) rcs $@)
$(O_TARGET): $(obj-y) dummy $(O_TARGET): $(obj-y) FORCE
$(call if_changed,cmd_link_o_target) $(call if_changed,cmd_link_o_target)
endif # O_TARGET endif # O_TARGET
...@@ -187,7 +221,7 @@ endif # O_TARGET ...@@ -187,7 +221,7 @@ endif # O_TARGET
ifdef L_TARGET ifdef L_TARGET
cmd_link_l_target = rm -f $@; $(AR) $(EXTRA_ARFLAGS) rcs $@ $(obj-y) cmd_link_l_target = rm -f $@; $(AR) $(EXTRA_ARFLAGS) rcs $@ $(obj-y)
$(L_TARGET): $(obj-y) dummy $(L_TARGET): $(obj-y) FORCE
$(call if_changed,cmd_link_l_target) $(call if_changed,cmd_link_l_target)
endif endif
...@@ -202,16 +236,16 @@ cmd_link_multi = $(LD) $(EXTRA_LDFLAGS) -r -o $@ $(filter $($(basename $@)-objs) ...@@ -202,16 +236,16 @@ cmd_link_multi = $(LD) $(EXTRA_LDFLAGS) -r -o $@ $(filter $($(basename $@)-objs)
# foo.o: $(foo-objs) # foo.o: $(foo-objs)
# but that's not so easy, so we rather make all composite objects depend # but that's not so easy, so we rather make all composite objects depend
# on the set of all their parts # on the set of all their parts
$(multi-used-y) : %.o: $(multi-objs-y) dummy $(multi-used-y) : %.o: $(multi-objs-y) FORCE
$(call if_changed,cmd_link_multi) $(call if_changed,cmd_link_multi)
$(multi-used-m) : %.o: $(multi-objs-m) dummy $(multi-used-m) : %.o: $(multi-objs-m) FORCE
$(call if_changed,cmd_link_multi) $(call if_changed,cmd_link_multi)
# #
# This make dependencies quickly # This make dependencies quickly
# #
fastdep: dummy fastdep: FORCE
$(TOPDIR)/scripts/mkdep $(CFLAGS) $(EXTRA_CFLAGS) -- $(wildcard *.[chS]) > .depend $(TOPDIR)/scripts/mkdep $(CFLAGS) $(EXTRA_CFLAGS) -- $(wildcard *.[chS]) > .depend
ifdef ALL_SUB_DIRS ifdef ALL_SUB_DIRS
$(MAKE) $(patsubst %,_sfdep_%,$(ALL_SUB_DIRS)) _FASTDEP_ALL_SUB_DIRS="$(ALL_SUB_DIRS)" $(MAKE) $(patsubst %,_sfdep_%,$(ALL_SUB_DIRS)) _FASTDEP_ALL_SUB_DIRS="$(ALL_SUB_DIRS)"
...@@ -227,53 +261,50 @@ endif ...@@ -227,53 +261,50 @@ endif
# A rule to make subdirectories # A rule to make subdirectories
# #
subdir-list = $(sort $(patsubst %,_subdir_%,$(SUB_DIRS))) subdir-list = $(sort $(patsubst %,_subdir_%,$(SUB_DIRS)))
sub_dirs: dummy $(subdir-list) sub_dirs: FORCE $(subdir-list)
ifdef SUB_DIRS ifdef SUB_DIRS
$(subdir-list) : dummy $(subdir-list) : FORCE
@$(MAKE) -C $(patsubst _subdir_%,%,$@) @$(MAKE) -C $(patsubst _subdir_%,%,$@)
endif endif
# #
# A rule to make modules # A rule to make modules
# #
ifneq "$(strip $(obj-m))" ""
MOD_DESTDIR := $(shell $(CONFIG_SHELL) $(TOPDIR)/scripts/pathdown.sh)
endif
ifneq "$(strip $(MOD_SUB_DIRS))" "" ifneq "$(strip $(MOD_SUB_DIRS))" ""
.PHONY: $(patsubst %,_modsubdir_%,$(MOD_SUB_DIRS)) .PHONY: $(patsubst %,_modsubdir_%,$(MOD_SUB_DIRS))
$(patsubst %,_modsubdir_%,$(MOD_SUB_DIRS)) : dummy $(patsubst %,_modsubdir_%,$(MOD_SUB_DIRS)) : FORCE
@$(MAKE) -C $(patsubst _modsubdir_%,%,$@) modules @$(MAKE) -C $(patsubst _modsubdir_%,%,$@) modules
.PHONY: $(patsubst %,_modinst_%,$(MOD_SUB_DIRS)) .PHONY: $(patsubst %,_modinst_%,$(MOD_SUB_DIRS))
$(patsubst %,_modinst_%,$(MOD_SUB_DIRS)) : dummy $(patsubst %,_modinst_%,$(MOD_SUB_DIRS)) : FORCE
@$(MAKE) -C $(patsubst _modinst_%,%,$@) modules_install @$(MAKE) -C $(patsubst _modinst_%,%,$@) modules_install
endif endif
.PHONY: modules .PHONY: modules
modules: $(obj-m) dummy \ modules: $(obj-m) FORCE \
$(patsubst %,_modsubdir_%,$(MOD_SUB_DIRS)) $(patsubst %,_modsubdir_%,$(MOD_SUB_DIRS))
.PHONY: _modinst__ .PHONY: _modinst__
_modinst__: dummy _modinst__: FORCE
ifneq "$(strip $(obj-m))" "" ifneq "$(strip $(obj-m))" ""
mkdir -p $(MODLIB)/kernel/$(MOD_DESTDIR) mkdir -p $(MODLIB)/kernel/$(RELDIR)
cp $(obj-m) $(MODLIB)/kernel/$(MOD_DESTDIR) cp $(obj-m) $(MODLIB)/kernel/$(RELDIR)
endif endif
.PHONY: modules_install .PHONY: modules_install
modules_install: _modinst__ \ modules_install: _modinst__ \
$(patsubst %,_modinst_%,$(MOD_SUB_DIRS)) $(patsubst %,_modinst_%,$(MOD_SUB_DIRS))
#
# A rule to do nothing # Add FORCE to the prequisites of a target to force it to be always rebuilt.
# # ---------------------------------------------------------------------------
dummy: .PHONY: FORCE
FORCE:
# #
# This is useful for testing # This is useful for testing
# # FIXME: really?
script: script:
$(SCRIPT) $(SCRIPT)
...@@ -290,12 +321,9 @@ active-objs := $(sort $(multi-objs) $(obj-y) $(obj-m)) ...@@ -290,12 +321,9 @@ active-objs := $(sort $(multi-objs) $(obj-y) $(obj-m))
ifdef CONFIG_MODVERSIONS ifdef CONFIG_MODVERSIONS
ifneq "$(strip $(export-objs))" "" ifneq "$(strip $(export-objs))" ""
MODINCL = $(TOPDIR)/include/linux/modules MODINCL := $(TOPDIR)/include/linux/modules
MODCURDIR = $(subst $(TOPDIR)/,,$(shell /bin/pwd)) MODPREFIX := $(subst /,-,$(RELDIR))__
MODPREFIX = $(subst /,-,$(MODCURDIR))__
# 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 # Added the SMP separator to stop module accidents between uniprocessor
# and SMP Intel boxes - AC - from bits by Michael Chastain # and SMP Intel boxes - AC - from bits by Michael Chastain
...@@ -363,7 +391,6 @@ endif ...@@ -363,7 +391,6 @@ endif
endif # CONFIG_MODULES endif # CONFIG_MODULES
# #
# include dependency files if they exist # include dependency files if they exist
# #
......
...@@ -55,7 +55,7 @@ main.o: ksize.h ...@@ -55,7 +55,7 @@ main.o: ksize.h
bootp.o: ksize.h bootp.o: ksize.h
ksize.h: vmlinux.nh dummy ksize.h: vmlinux.nh FORCE
echo "#define KERNEL_SIZE `ls -l vmlinux.nh | awk '{print $$5}'`" > $@T echo "#define KERNEL_SIZE `ls -l vmlinux.nh | awk '{print $$5}'`" > $@T
ifdef INITRD ifdef INITRD
[ -f $(INITRD) ] || exit 1 [ -f $(INITRD) ] || exit 1
...@@ -98,4 +98,4 @@ clean: ...@@ -98,4 +98,4 @@ clean:
dep: dep:
dummy: FORCE:
...@@ -209,12 +209,9 @@ archsymlinks: ...@@ -209,12 +209,9 @@ archsymlinks:
vmlinux: arch/arm/vmlinux.lds vmlinux: arch/arm/vmlinux.lds
arch/arm/vmlinux.lds: $(LDSCRIPT) dummy arch/arm/vmlinux.lds: $(LDSCRIPT) FORCE
@sed 's/TEXTADDR/$(TEXTADDR)/;s/DATAADDR/$(DATAADDR)/' $(LDSCRIPT) >$@ @sed 's/TEXTADDR/$(TEXTADDR)/;s/DATAADDR/$(DATAADDR)/' $(LDSCRIPT) >$@
arch/arm/kernel arch/arm/mm arch/arm/lib: dummy
$(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_KERNEL)" $(subst $@, _dir_$@, $@)
bzImage zImage zinstall Image bootpImage install: vmlinux bzImage zImage zinstall Image bootpImage install: vmlinux
@$(MAKEBOOT) $@ @$(MAKEBOOT) $@
......
...@@ -61,12 +61,6 @@ DRIVERS += arch/cris/drivers/drivers.o ...@@ -61,12 +61,6 @@ DRIVERS += arch/cris/drivers/drivers.o
LIBGCC = $(shell $(CC) $(CFLAGS) -print-file-name=libgcc.a) LIBGCC = $(shell $(CC) $(CFLAGS) -print-file-name=libgcc.a)
LIBS := $(TOPDIR)/arch/cris/lib/lib.a $(LIBS) $(TOPDIR)/arch/cris/lib/lib.a $(LIBGCC) LIBS := $(TOPDIR)/arch/cris/lib/lib.a $(LIBS) $(TOPDIR)/arch/cris/lib/lib.a $(LIBGCC)
arch/cris/kernel: dummy
$(MAKE) linuxsubdirs SUBDIRS=arch/cris/kernel
arch/cris/mm: dummy
$(MAKE) linuxsubdirs SUBDIRS=arch/cris/mm
MAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot MAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot
vmlinux.bin: vmlinux vmlinux.bin: vmlinux
...@@ -88,10 +82,10 @@ cramfs: ...@@ -88,10 +82,10 @@ cramfs:
clinux: vmlinux.bin decompress.bin rescue.bin clinux: vmlinux.bin decompress.bin rescue.bin
decompress.bin: dummy decompress.bin: FORCE
@make -C arch/cris/boot/compressed decompress.bin @make -C arch/cris/boot/compressed decompress.bin
rescue.bin: dummy rescue.bin: FORCE
@make -C arch/cris/boot/rescue rescue.bin @make -C arch/cris/boot/rescue rescue.bin
zImage: vmlinux.bin zImage: vmlinux.bin
......
...@@ -103,18 +103,10 @@ SUBDIRS += arch/i386/pci ...@@ -103,18 +103,10 @@ SUBDIRS += arch/i386/pci
DRIVERS += arch/i386/pci/pci.o DRIVERS += arch/i386/pci/pci.o
endif endif
arch/i386/kernel: dummy
$(MAKE) linuxsubdirs SUBDIRS=arch/i386/kernel
arch/i386/mm: dummy
$(MAKE) linuxsubdirs SUBDIRS=arch/i386/mm
MAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot MAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot
vmlinux: arch/i386/vmlinux.lds vmlinux: arch/i386/vmlinux.lds
FORCE: ;
.PHONY: zImage bzImage compressed zlilo bzlilo zdisk bzdisk install \ .PHONY: zImage bzImage compressed zlilo bzlilo zdisk bzdisk install \
clean archclean archmrproper archdep clean archclean archmrproper archdep
......
...@@ -99,8 +99,6 @@ arch/$(ARCH)/vmlinux.lds: arch/$(ARCH)/vmlinux.lds.S FORCE ...@@ -99,8 +99,6 @@ arch/$(ARCH)/vmlinux.lds: arch/$(ARCH)/vmlinux.lds.S FORCE
$(CPP) -D__ASSEMBLY__ -C -P -I$(HPATH) -I$(HPATH)/asm-$(ARCH) \ $(CPP) -D__ASSEMBLY__ -C -P -I$(HPATH) -I$(HPATH)/asm-$(ARCH) \
-traditional arch/$(ARCH)/vmlinux.lds.S > $@ -traditional arch/$(ARCH)/vmlinux.lds.S > $@
FORCE: ;
compressed: vmlinux compressed: vmlinux
$(OBJCOPY) --strip-all vmlinux vmlinux-tmp $(OBJCOPY) --strip-all vmlinux vmlinux-tmp
gzip vmlinux-tmp gzip vmlinux-tmp
......
...@@ -33,11 +33,11 @@ offsets.h: print_offsets ...@@ -33,11 +33,11 @@ offsets.h: print_offsets
comma := , comma := ,
print_offsets: print_offsets.c FORCE_RECOMPILE print_offsets: print_offsets.c FORCE
$(CC) $(CFLAGS) -DKBUILD_BASENAME=$(subst $(comma),_,$(subst -,_,$(*F))) \ $(CC) $(CFLAGS) -DKBUILD_BASENAME=$(subst $(comma),_,$(subst -,_,$(*F))) \
print_offsets.c -o $@ print_offsets.c -o $@
FORCE_RECOMPILE: FORCE:
else else
......
...@@ -47,6 +47,4 @@ mrproper: ...@@ -47,6 +47,4 @@ mrproper:
rm -f addinitrd rm -f addinitrd
rm -f elf2ecoff rm -f elf2ecoff
dummy:
include $(TOPDIR)/Rules.make include $(TOPDIR)/Rules.make
...@@ -35,6 +35,4 @@ clean: ...@@ -35,6 +35,4 @@ clean:
mrproper: mrproper:
rm -f vmlinux.ecoff addinitrd elf2ecoff rm -f vmlinux.ecoff addinitrd elf2ecoff
dummy:
include $(TOPDIR)/Rules.make include $(TOPDIR)/Rules.make
...@@ -55,17 +55,8 @@ endif ...@@ -55,17 +55,8 @@ endif
ifdef CONFIG_KWDB ifdef CONFIG_KWDB
SUBDIRS := $(SUBDIRS) arch/parisc/kdb SUBDIRS := $(SUBDIRS) arch/parisc/kdb
DRIVERS := $(DRIVERS) arch/parisc/kdb/kdb.o DRIVERS := $(DRIVERS) arch/parisc/kdb/kdb.o
arch/parisc/kdb: dummy
$(MAKE) linuxsubdirs SUBDIRS=arch/parisc/kdb
endif endif
arch/parisc/kernel: dummy
$(MAKE) linuxsubdirs SUBDIRS=arch/parisc/kernel
arch/parisc/mm: dummy
$(MAKE) linuxsubdirs SUBDIRS=arch/parisc/mm
palo: vmlinux palo: vmlinux
export TOPDIR=`pwd`; export CONFIG_STI_CONSOLE=$(CONFIG_STI_CONSOLE); \ export TOPDIR=`pwd`; export CONFIG_STI_CONSOLE=$(CONFIG_STI_CONSOLE); \
unset STRIP LDFLAGS CPP CPPFLAGS AFLAGS CFLAGS CC LD; cd ../palo && make lifimage unset STRIP LDFLAGS CPP CPPFLAGS AFLAGS CFLAGS CC LD; cd ../palo && make lifimage
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
HOSTCFLAGS += -I$(TOPDIR)/arch/$(ARCH)/boot/include HOSTCFLAGS += -I$(TOPDIR)/arch/$(ARCH)/boot/include
all: dummy all: FORCE
# Simple programs with 1 file and no extra CFLAGS # Simple programs with 1 file and no extra CFLAGS
UTILS = addnote hack-coff mkprep mknote mkbugboot mktree \ UTILS = addnote hack-coff mkprep mknote mkbugboot mktree \
......
...@@ -44,15 +44,6 @@ all: image listing ...@@ -44,15 +44,6 @@ all: image listing
listing: vmlinux listing: vmlinux
@$(MAKEBOOT) listing @$(MAKEBOOT) listing
arch/s390/kernel: dummy
$(MAKE) linuxsubdirs SUBDIRS=arch/s390/kernel
arch/s390/mm: dummy
$(MAKE) linuxsubdirs SUBDIRS=arch/s390/mm
drivers/s390: dummy
$(MAKE) linuxsubdirs SUBDIRS=drivers/s390
MAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot MAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot
image: vmlinux image: vmlinux
......
...@@ -41,15 +41,6 @@ all: image listing ...@@ -41,15 +41,6 @@ all: image listing
listing: vmlinux listing: vmlinux
@$(MAKEBOOT) listing @$(MAKEBOOT) listing
arch/s390x/kernel: dummy
$(MAKE) linuxsubdirs SUBDIRS=arch/s390x/kernel
arch/s390x/mm: dummy
$(MAKE) linuxsubdirs SUBDIRS=arch/s390x/mm
drivers/s390: dummy
$(MAKE) linuxsubdirs SUBDIRS=drivers/s390
MAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot MAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot
image: vmlinux image: vmlinux
......
...@@ -30,7 +30,7 @@ BTLIBS := $(CORE_FILES_NO_BTFIX) $(FILESYSTEMS) \ ...@@ -30,7 +30,7 @@ BTLIBS := $(CORE_FILES_NO_BTFIX) $(FILESYSTEMS) \
# build would work, but this fails because $(HEAD) cannot work # build would work, but this fails because $(HEAD) cannot work
# properly as it will cause head.o to be built with the implicit # properly as it will cause head.o to be built with the implicit
# rules not the ones in kernel/Makefile. Someone please fix. --DaveM # rules not the ones in kernel/Makefile. Someone please fix. --DaveM
vmlinux.o: dummy vmlinux.o: FORCE
$(LD) -r $(patsubst %,$(TOPDIR)/%,$(BTOBJS)) \ $(LD) -r $(patsubst %,$(TOPDIR)/%,$(BTOBJS)) \
--start-group \ --start-group \
$(patsubst %,$(TOPDIR)/%,$(BTLIBS)) \ $(patsubst %,$(TOPDIR)/%,$(BTLIBS)) \
......
...@@ -37,7 +37,7 @@ endif ...@@ -37,7 +37,7 @@ endif
head.o: head.S head.o: head.S
$(CC) $(AFLAGS) -ansi -c $*.S -o $*.o $(CC) $(AFLAGS) -ansi -c $*.S -o $*.o
check_asm: dummy check_asm: FORCE
@if [ ! -r $(HPATH)/asm/asm_offsets.h ] ; then \ @if [ ! -r $(HPATH)/asm/asm_offsets.h ] ; then \
touch $(HPATH)/asm/asm_offsets.h ; \ touch $(HPATH)/asm/asm_offsets.h ; \
fi fi
......
...@@ -70,21 +70,10 @@ endif ...@@ -70,21 +70,10 @@ endif
CORE_FILES += $(core-y) CORE_FILES += $(core-y)
arch/x86_64/tools: dummy
$(MAKE) linuxsubdirs SUBDIRS=arch/x86_64/tools
arch/x86_64/kernel: dummy
$(MAKE) linuxsubdirs SUBDIRS=arch/x86_64/kernel
arch/x86_64/mm: dummy
$(MAKE) linuxsubdirs SUBDIRS=arch/x86_64/mm
MAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot MAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot
vmlinux: arch/x86_64/vmlinux.lds vmlinux: arch/x86_64/vmlinux.lds
FORCE: ;
.PHONY: zImage bzImage compressed zlilo bzlilo zdisk bzdisk install \ .PHONY: zImage bzImage compressed zlilo bzlilo zdisk bzdisk install \
clean archclean archmrproper archdep checkoffset clean archclean archmrproper archdep checkoffset
......
...@@ -14,12 +14,10 @@ $(TARGET): offset.h ...@@ -14,12 +14,10 @@ $(TARGET): offset.h
.PHONY : offset.h all modules modules_install .PHONY : offset.h all modules modules_install
offset.h: offset.sed offset.c FORCE_RECOMPILE offset.h: offset.sed offset.c FORCE
$(CC) $(CFLAGS) -S -o offset.tmp offset.c $(CC) $(CFLAGS) -S -o offset.tmp offset.c
sed -n -f offset.sed < offset.tmp > offset.h sed -n -f offset.sed < offset.tmp > offset.h
FORCE_RECOMPILE:
clean: clean:
rm -f offset.[hs] $(TARGET).new offset.tmp rm -f offset.[hs] $(TARGET).new offset.tmp
......
...@@ -102,5 +102,5 @@ FORE200E_FW_CHANGED := $(filter-out $(FORE200E_FW_UP_TO_DATE), \ ...@@ -102,5 +102,5 @@ FORE200E_FW_CHANGED := $(filter-out $(FORE200E_FW_UP_TO_DATE), \
fore200e_pca_fw.c fore200e_sba_fw.c) fore200e_pca_fw.c fore200e_sba_fw.c)
ifneq ($(FORE200E_FW_CHANGED),) ifneq ($(FORE200E_FW_CHANGED),)
$(FORE200E_FW_CHANGED): dummy $(FORE200E_FW_CHANGED): FORCE
endif endif
...@@ -143,6 +143,8 @@ void matrox_cfbX_init(WPMINFO struct display* p) { ...@@ -143,6 +143,8 @@ void matrox_cfbX_init(WPMINFO struct display* p) {
ACCESS_FBINFO(accel.m_opmode) = mopmode; ACCESS_FBINFO(accel.m_opmode) = mopmode;
} }
EXPORT_SYMBOL(matrox_cfbX_init);
static void matrox_cfbX_bmove(struct display* p, int sy, int sx, int dy, int dx, int height, int width) { static void matrox_cfbX_bmove(struct display* p, int sy, int sx, int dy, int dx, int height, int width) {
int pixx = p->var.xres_virtual, start, end; int pixx = p->var.xres_virtual, start, end;
CRITFLAGS CRITFLAGS
...@@ -943,7 +945,7 @@ static void matrox_text_revc(struct display* p, int xx, int yy) { ...@@ -943,7 +945,7 @@ static void matrox_text_revc(struct display* p, int xx, int yy) {
CRITEND CRITEND
} }
void matrox_text_createcursor(WPMINFO struct display* p) { static void matrox_text_createcursor(WPMINFO struct display* p) {
CRITFLAGS CRITFLAGS
if (ACCESS_FBINFO(currcon_display) != p) if (ACCESS_FBINFO(currcon_display) != p)
...@@ -1029,6 +1031,8 @@ void matrox_text_round(CPMINFO struct fb_var_screeninfo* var, struct display* p) ...@@ -1029,6 +1031,8 @@ void matrox_text_round(CPMINFO struct fb_var_screeninfo* var, struct display* p)
var->xres_virtual = vxres * hf; var->xres_virtual = vxres * hf;
} }
EXPORT_SYMBOL(matrox_text_round);
static int matrox_text_setfont(struct display* p, int width, int height) { static int matrox_text_setfont(struct display* p, int width, int height) {
DBG("matrox_text_setfont"); DBG("matrox_text_setfont");
...@@ -1223,6 +1227,8 @@ void initMatrox(WPMINFO struct display* p) { ...@@ -1223,6 +1227,8 @@ void initMatrox(WPMINFO struct display* p) {
} }
} }
EXPORT_SYMBOL(initMatrox);
void matrox_init_putc(WPMINFO struct display* p, void (*dac_createcursor)(WPMINFO struct display* p)) { void matrox_init_putc(WPMINFO struct display* p, void (*dac_createcursor)(WPMINFO struct display* p)) {
int i; int i;
...@@ -1245,4 +1251,7 @@ void matrox_init_putc(WPMINFO struct display* p, void (*dac_createcursor)(WPMINF ...@@ -1245,4 +1251,7 @@ void matrox_init_putc(WPMINFO struct display* p, void (*dac_createcursor)(WPMINF
ACCESS_FBINFO(curr.putcs) = matrox_cfbX_putcs; ACCESS_FBINFO(curr.putcs) = matrox_cfbX_putcs;
} }
} }
EXPORT_SYMBOL(matrox_init_putc);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
...@@ -5,7 +5,6 @@ ...@@ -5,7 +5,6 @@
void matrox_init_putc(WPMINFO struct display* p, void (*)(WPMINFO struct display *p)); void matrox_init_putc(WPMINFO struct display* p, void (*)(WPMINFO struct display *p));
void matrox_cfbX_init(WPMINFO struct display* p); void matrox_cfbX_init(WPMINFO struct display* p);
void matrox_text_createcursor(WPMINFO struct display* p);
void matrox_text_round(CPMINFO struct fb_var_screeninfo* var, struct display* p); void matrox_text_round(CPMINFO struct fb_var_screeninfo* var, struct display* p);
void initMatrox(WPMINFO struct display* p); void initMatrox(WPMINFO struct display* p);
......
...@@ -15,8 +15,8 @@ version.o: ../include/linux/compile.h ...@@ -15,8 +15,8 @@ version.o: ../include/linux/compile.h
# compile.h changes depending on hostname, generation number, etc, # compile.h changes depending on hostname, generation number, etc,
# so we regenerate it always. # so we regenerate it always.
# mkcompile_h will make sure to only update the # mkcompile_h will make sure to only update the
# actualy file if its content has changed. # actual file if its content has changed.
../include/linux/compile.h: ../include/linux/version.h dummy ../include/linux/compile.h: FORCE
@echo Generating $@ @echo Generating $@
@. ../scripts/mkcompile_h $@ "$(ARCH)" "$(CONFIG_SMP)" "$(CC) $(CFLAGS)" @. ../scripts/mkcompile_h $@ "$(ARCH)" "$(CONFIG_SMP)" "$(CC) $(CFLAGS)"
...@@ -5,7 +5,7 @@ TAIL=tail.tk ...@@ -5,7 +5,7 @@ TAIL=tail.tk
# on soundscript. This runs fairly fast, and I can't find all the # on soundscript. This runs fairly fast, and I can't find all the
# Config.in files to depend on anyways. So I'll force it to remake. # Config.in files to depend on anyways. So I'll force it to remake.
kconfig.tk: dummy kconfig.tk: FORCE
kconfig.tk: ${TOPDIR}/Makefile ${TOPDIR}/arch/${ARCH}/config.in \ kconfig.tk: ${TOPDIR}/Makefile ${TOPDIR}/arch/${ARCH}/config.in \
tkparse ${HEADER} ${TAIL} tkparse ${HEADER} ${TAIL}
......
#!/bin/sh
UP=
DN=${PWD:?}
TP=${TOPDIR:?}
while [ ! $TP/$UP/. -ef $DN ] ;do
UP=`basename $PWD`/$UP
cd ..
if [ "$PWD" = "/" ]; then echo "Lost"; exit 1; fi
done
echo $UP
exit 0
...@@ -239,5 +239,5 @@ FILES_BOOT_CHANGED := $(strip \ ...@@ -239,5 +239,5 @@ FILES_BOOT_CHANGED := $(strip \
maui_boot.h pss_boot.h trix_boot.h)) maui_boot.h pss_boot.h trix_boot.h))
ifneq ($(FILES_BOOT_CHANGED),) ifneq ($(FILES_BOOT_CHANGED),)
$(FILES_BOOT_CHANGED): dummy $(FILES_BOOT_CHANGED): FORCE
endif endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment