backports: support make clean/mrproper
authorJohannes Berg <johannes.berg@intel.com>
Mon, 22 Apr 2013 11:46:13 +0000 (13:46 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 22 Apr 2013 11:50:52 +0000 (13:50 +0200)
The kernel's "make clean" will recurse into subdirectories, even
into those that aren't enabled in Kconfig. Thus, the previous
trick of changing symbols from CONFIG_* to IMPOSSIBLE_* doesn't
work any more. Change this to comment out the lines instead and
then support "make clean" and "make mrproper".

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
backport/Makefile
backport/Makefile.build
backport/Makefile.real
gentree.py

index 5cb7016919798dbb3d91525a1c0bc4eb04598fa8..287b27de28483b91f71be62f944c0902eb1c86d3 100644 (file)
@@ -29,6 +29,13 @@ export KLIB KLIB_BUILD BACKPORT_PWD KMODDIR KMODPATH_ARG
 default:
        @$(MAKE) modules
 
+.PHONY: mrproper
+mrproper:
+       @test -f .config && $(MAKE) clean || true
+       @rm -f .config
+       @rm -f .kernel_config_md5 Kconfig.versions Kconfig.kernel
+       @rm -f backport-include/backport/autoconf.h
+
 .DEFAULT:
        @set -e ; test -f $(KERNEL_CONFIG) || (                                         \
        echo "/--------------"                                                          ;\
index 3ac4350e0b63840cfe3b76ecc917eba08fec0f15..d2090415cd52d1f12da9f05257379e9f8d72d5b2 100644 (file)
@@ -1,6 +1,10 @@
-include .config
+-include .config
 export
 
 .PHONY: modules
 modules:
        @$(MAKE) -C $(KLIB_BUILD) M=$(BACKPORT_PWD) modules
+
+.PHONY: clean
+clean:
+       @$(MAKE) -C $(KLIB_BUILD) M=$(BACKPORT_PWD) clean
index 243f904fbed180e7606a6cd10efafe0baca74956..e033d73b88ea6770c698c247c6b69821e4e82566 100644 (file)
@@ -97,3 +97,7 @@ install: modules
        @echo Your backported driver modules should be installed now.
        @echo Reboot.
        @echo
+
+.PHONY: clean
+clean:
+       @$(MAKE) -f Makefile.build clean
index 5ae88706eaef6bbb77ab36d0c6a91a51ad1319be..afe3645f59f909bf25c6f3c28433ea1e388e5e97 100755 (executable)
@@ -520,12 +520,12 @@ def process(kerneldir, outdir, copy_list_file, git_revision=None,
     # groups -- 50 seemed safer and is still fast)
     regexes = []
     for some_symbols in [disable_makefile[i:i + 50] for i in range(0, len(disable_makefile), 50)]:
-        r = '((CPTCFG|CONFIG)_(' + '|'.join([s for s in some_symbols]) + '))'
+        r = '^([^#].*((CPTCFG|CONFIG)_(' + '|'.join([s for s in some_symbols]) + ')))'
         regexes.append(re.compile(r, re.MULTILINE))
     for f in maketree.get_makefiles():
         data = open(f, 'r').read()
         for r in regexes:
-            data = r.sub(r'IMPOSSIBLE_\3', data)
+            data = r.sub(r'#\1', data)
         fo = open(f, 'w')
         fo.write(data)
         fo.close()