Commit 317b795b authored by Sam Ravnborg's avatar Sam Ravnborg Committed by Linus Torvalds

[PATCH] kbuild: Compatible with old bash, fix help, make clean fix

kbuild fixes:
 o Do not use "-" in exported symbols, bash does not support that (Matthew/Keith)
 o Sort ALL_SUBDIRS, to avoid warning about duplicate target
	- Happens when the same directory are specified with drivers-y
	  and drivers-n
 o Added AWK, a few architectures actually use awk for normal compilation
 o Removed distclean from make help, now that distclean and mrporper are merged
parent 63508ee9
...@@ -155,6 +155,7 @@ NM = $(CROSS_COMPILE)nm ...@@ -155,6 +155,7 @@ NM = $(CROSS_COMPILE)nm
STRIP = $(CROSS_COMPILE)strip STRIP = $(CROSS_COMPILE)strip
OBJCOPY = $(CROSS_COMPILE)objcopy OBJCOPY = $(CROSS_COMPILE)objcopy
OBJDUMP = $(CROSS_COMPILE)objdump OBJDUMP = $(CROSS_COMPILE)objdump
AWK = awk
GENKSYMS = /sbin/genksyms GENKSYMS = /sbin/genksyms
DEPMOD = /sbin/depmod DEPMOD = /sbin/depmod
KALLSYMS = /sbin/kallsyms KALLSYMS = /sbin/kallsyms
...@@ -173,7 +174,7 @@ AFLAGS := -D__ASSEMBLY__ $(CPPFLAGS) ...@@ -173,7 +174,7 @@ AFLAGS := -D__ASSEMBLY__ $(CPPFLAGS)
export VERSION PATCHLEVEL SUBLEVEL EXTRAVERSION KERNELRELEASE ARCH \ export VERSION PATCHLEVEL SUBLEVEL EXTRAVERSION KERNELRELEASE ARCH \
CONFIG_SHELL TOPDIR HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC \ CONFIG_SHELL TOPDIR HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC \
CPP AR NM STRIP OBJCOPY OBJDUMP MAKE GENKSYMS PERL UTS_MACHINE \ CPP AR NM STRIP OBJCOPY OBJDUMP MAKE AWK GENKSYMS PERL UTS_MACHINE \
HOSTCXX HOSTCXXFLAGS HOSTCXX HOSTCXXFLAGS
export CPPFLAGS NOSTDINC_FLAGS OBJCOPYFLAGS LDFLAGS export CPPFLAGS NOSTDINC_FLAGS OBJCOPYFLAGS LDFLAGS
...@@ -214,7 +215,7 @@ SUBDIRS := ...@@ -214,7 +215,7 @@ SUBDIRS :=
ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),) ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),)
export include-config := 1 export include_config := 1
-include .config -include .config
...@@ -228,9 +229,10 @@ SUBDIRS += $(patsubst %/,%,$(filter %/, $(init-y) $(init-m) \ ...@@ -228,9 +229,10 @@ SUBDIRS += $(patsubst %/,%,$(filter %/, $(init-y) $(init-m) \
$(core-y) $(core-m) $(drivers-y) $(drivers-m) \ $(core-y) $(core-m) $(drivers-y) $(drivers-m) \
$(net-y) $(net-m) $(libs-y) $(libs-m))) $(net-y) $(net-m) $(libs-y) $(libs-m)))
ALL_SUBDIRS := $(SUBDIRS) $(patsubst %/,%,$(filter %/, $(init-n) $(init-) \ ALL_SUBDIRS := $(sort $(SUBDIRS) $(patsubst %/,%,$(filter %/, \
$(init-n) $(init-) \
$(core-n) $(core-) $(drivers-n) $(drivers-) \ $(core-n) $(core-) $(drivers-n) $(drivers-) \
$(net-n) $(net-) $(libs-n) $(libs-))) $(net-n) $(net-) $(libs-n) $(libs-))))
init-y := $(patsubst %/, %/built-in.o, $(init-y)) init-y := $(patsubst %/, %/built-in.o, $(init-y))
core-y := $(patsubst %/, %/built-in.o, $(core-y)) core-y := $(patsubst %/, %/built-in.o, $(core-y))
...@@ -238,7 +240,7 @@ drivers-y := $(patsubst %/, %/built-in.o, $(drivers-y)) ...@@ -238,7 +240,7 @@ drivers-y := $(patsubst %/, %/built-in.o, $(drivers-y))
net-y := $(patsubst %/, %/built-in.o, $(net-y)) net-y := $(patsubst %/, %/built-in.o, $(net-y))
libs-y := $(patsubst %/, %/lib.a, $(libs-y)) libs-y := $(patsubst %/, %/lib.a, $(libs-y))
ifdef include-config ifdef include_config
# Here goes the main Makefile # Here goes the main Makefile
# =========================================================================== # ===========================================================================
...@@ -602,7 +604,7 @@ rpm: clean spec ...@@ -602,7 +604,7 @@ rpm: clean spec
rpm -ta $(TOPDIR)/../$(KERNELPATH).tar.gz ; \ rpm -ta $(TOPDIR)/../$(KERNELPATH).tar.gz ; \
rm $(TOPDIR)/../$(KERNELPATH).tar.gz rm $(TOPDIR)/../$(KERNELPATH).tar.gz
else # ifdef include-config else # ifdef include_config
ifeq ($(filter-out $(noconfig_targets),$(MAKECMDGOALS)),) ifeq ($(filter-out $(noconfig_targets),$(MAKECMDGOALS)),)
...@@ -764,8 +766,7 @@ tags: FORCE ...@@ -764,8 +766,7 @@ tags: FORCE
help: help:
@echo 'Cleaning targets:' @echo 'Cleaning targets:'
@echo ' clean - remove most generated files but keep the config' @echo ' clean - remove most generated files but keep the config'
@echo ' mrproper - remove all generated files including the config' @echo ' mrproper - remove all generated files + config + various backup files'
@echo ' distclean - mrproper + remove files generated by editors and patch'
@echo '' @echo ''
@echo 'Configuration targets:' @echo 'Configuration targets:'
@echo ' oldconfig - Update current config utilising a line-oriented program' @echo ' oldconfig - Update current config utilising a line-oriented program'
...@@ -828,7 +829,7 @@ else # ifneq ($(filter-out $(noconfig_targets),$(MAKECMDGOALS)),) ...@@ -828,7 +829,7 @@ else # ifneq ($(filter-out $(noconfig_targets),$(MAKECMDGOALS)),)
$(MAKE) $@ $(MAKE) $@
endif # ifeq ($(filter-out $(noconfig_targets),$(MAKECMDGOALS)),) endif # ifeq ($(filter-out $(noconfig_targets),$(MAKECMDGOALS)),)
endif # ifdef include-config endif # ifdef include_config
# FIXME Should go into a make.lib or something # FIXME Should go into a make.lib or something
# =========================================================================== # ===========================================================================
......
...@@ -7,7 +7,7 @@ src := $(obj) ...@@ -7,7 +7,7 @@ src := $(obj)
.PHONY: __build .PHONY: __build
__build: __build:
ifdef include-config ifdef include_config
include .config include .config
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