2002-11-03 08:45:55

by Sam Ravnborg

[permalink] [raw]
Subject: kbuild: Compatible with old bash, fix help, make clean fix

kbuild fixes:
o Do not use "-" in exported symbols, bash does not support that (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

Sam

The following files are touched:
Makefile | 17 +++++++++--------
scripts/Makefile.build | 2 +-
2 files changed, 10 insertions(+), 9 deletions(-)


===== Makefile 1.338 vs edited =====
--- 1.338/Makefile Fri Nov 1 18:00:18 2002
+++ edited/Makefile Sun Nov 3 09:38:26 2002
@@ -155,6 +155,7 @@
STRIP = $(CROSS_COMPILE)strip
OBJCOPY = $(CROSS_COMPILE)objcopy
OBJDUMP = $(CROSS_COMPILE)objdump
+AWK = awk
GENKSYMS = /sbin/genksyms
DEPMOD = /sbin/depmod
KALLSYMS = /sbin/kallsyms
@@ -214,7 +215,7 @@

ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),)

-export include-config := 1
+export include_config := 1

-include .config

@@ -228,9 +229,10 @@
$(core-y) $(core-m) $(drivers-y) $(drivers-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-) \
- $(net-n) $(net-) $(libs-n) $(libs-)))
+ $(net-n) $(net-) $(libs-n) $(libs-))))

init-y := $(patsubst %/, %/built-in.o, $(init-y))
core-y := $(patsubst %/, %/built-in.o, $(core-y))
@@ -238,7 +240,7 @@
net-y := $(patsubst %/, %/built-in.o, $(net-y))
libs-y := $(patsubst %/, %/lib.a, $(libs-y))

-ifdef include-config
+ifdef include_config

# Here goes the main Makefile
# ===========================================================================
@@ -602,7 +604,7 @@
rpm -ta $(TOPDIR)/../$(KERNELPATH).tar.gz ; \
rm $(TOPDIR)/../$(KERNELPATH).tar.gz

-else # ifdef include-config
+else # ifdef include_config

ifeq ($(filter-out $(noconfig_targets),$(MAKECMDGOALS)),)

@@ -764,8 +766,7 @@
help:
@echo 'Cleaning targets:'
@echo ' clean - remove most generated files but keep the config'
- @echo ' mrproper - remove all generated files including the config'
- @echo ' distclean - mrproper + remove files generated by editors and patch'
+ @echo ' mrproper - remove all generated files + config + various backup files'
@echo ''
@echo 'Configuration targets:'
@echo ' oldconfig - Update current config utilising a line-oriented program'
@@ -828,7 +829,7 @@
$(MAKE) $@

endif # ifeq ($(filter-out $(noconfig_targets),$(MAKECMDGOALS)),)
-endif # ifdef include-config
+endif # ifdef include_config

# FIXME Should go into a make.lib or something
# ===========================================================================
===== scripts/Makefile.build 1.7 vs edited =====
--- 1.7/scripts/Makefile.build Wed Oct 30 18:14:54 2002
+++ edited/scripts/Makefile.build Sun Nov 3 09:33:20 2002
@@ -7,7 +7,7 @@
.PHONY: __build
__build:

-ifdef include-config
+ifdef include_config
include .config
endif


2002-11-03 10:41:59

by Keith Owens

[permalink] [raw]
Subject: Re: kbuild: Compatible with old bash, fix help, make clean fix

On Sun, 3 Nov 2002 09:51:47 +0100,
Sam Ravnborg <[email protected]> wrote:
>o Added AWK, a few architectures actually use awk for normal compilation

Needs to be exported as well.
- CPP AR NM STRIP OBJCOPY OBJDUMP MAKE GENKSYMS PERL UTS_MACHINE \
+ CPP AR NM STRIP OBJCOPY OBJDUMP MAKE GENKSYMS PERL AWK UTS_MACHINE \

2002-11-03 18:41:15

by Sam Ravnborg

[permalink] [raw]
Subject: kbuild: Compatible with old bash, fix help, make clean fix

AWK exported now, as pointed out by Keith.

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

Sam

Touches these files:

Makefile | 19 ++++++++++---------
scripts/Makefile.build | 2 +-
2 files changed, 11 insertions(+), 10 deletions(-)

===== Makefile 1.338 vs edited =====
--- 1.338/Makefile Fri Nov 1 18:00:18 2002
+++ edited/Makefile Sun Nov 3 19:41:32 2002
@@ -155,6 +155,7 @@
STRIP = $(CROSS_COMPILE)strip
OBJCOPY = $(CROSS_COMPILE)objcopy
OBJDUMP = $(CROSS_COMPILE)objdump
+AWK = awk
GENKSYMS = /sbin/genksyms
DEPMOD = /sbin/depmod
KALLSYMS = /sbin/kallsyms
@@ -173,7 +174,7 @@

export VERSION PATCHLEVEL SUBLEVEL EXTRAVERSION KERNELRELEASE ARCH \
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

export CPPFLAGS NOSTDINC_FLAGS OBJCOPYFLAGS LDFLAGS
@@ -214,7 +215,7 @@

ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),)

-export include-config := 1
+export include_config := 1

-include .config

@@ -228,9 +229,10 @@
$(core-y) $(core-m) $(drivers-y) $(drivers-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-) \
- $(net-n) $(net-) $(libs-n) $(libs-)))
+ $(net-n) $(net-) $(libs-n) $(libs-))))

init-y := $(patsubst %/, %/built-in.o, $(init-y))
core-y := $(patsubst %/, %/built-in.o, $(core-y))
@@ -238,7 +240,7 @@
net-y := $(patsubst %/, %/built-in.o, $(net-y))
libs-y := $(patsubst %/, %/lib.a, $(libs-y))

-ifdef include-config
+ifdef include_config

# Here goes the main Makefile
# ===========================================================================
@@ -602,7 +604,7 @@
rpm -ta $(TOPDIR)/../$(KERNELPATH).tar.gz ; \
rm $(TOPDIR)/../$(KERNELPATH).tar.gz

-else # ifdef include-config
+else # ifdef include_config

ifeq ($(filter-out $(noconfig_targets),$(MAKECMDGOALS)),)

@@ -764,8 +766,7 @@
help:
@echo 'Cleaning targets:'
@echo ' clean - remove most generated files but keep the config'
- @echo ' mrproper - remove all generated files including the config'
- @echo ' distclean - mrproper + remove files generated by editors and patch'
+ @echo ' mrproper - remove all generated files + config + various backup files'
@echo ''
@echo 'Configuration targets:'
@echo ' oldconfig - Update current config utilising a line-oriented program'
@@ -828,7 +829,7 @@
$(MAKE) $@

endif # ifeq ($(filter-out $(noconfig_targets),$(MAKECMDGOALS)),)
-endif # ifdef include-config
+endif # ifdef include_config

# FIXME Should go into a make.lib or something
# ===========================================================================
===== scripts/Makefile.build 1.7 vs edited =====
--- 1.7/scripts/Makefile.build Wed Oct 30 18:14:54 2002
+++ edited/scripts/Makefile.build Sun Nov 3 19:40:50 2002
@@ -7,7 +7,7 @@
.PHONY: __build
__build:

-ifdef include-config
+ifdef include_config
include .config
endif