mirror of
				https://github.com/Telecominfraproject/wlan-ap.git
				synced 2025-10-29 09:32:34 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			168 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			168 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| --- a/Makefile
 | |
| +++ b/Makefile
 | |
| @@ -5,7 +5,7 @@
 | |
|  ifeq ($(KERNELRELEASE),)
 | |
|  
 | |
|  MAKEFLAGS += --no-print-directory
 | |
| -SHELL := /bin/bash
 | |
| +SHELL := /usr/bin/env bash
 | |
|  BACKPORT_DIR := $(shell pwd)
 | |
|  
 | |
|  KMODDIR ?= updates
 | |
| @@ -19,6 +19,7 @@ KLIB_BUILD ?= $(KLIB)/build/
 | |
|  KERNEL_CONFIG := $(KLIB_BUILD)/.config
 | |
|  KERNEL_MAKEFILE := $(KLIB_BUILD)/Makefile
 | |
|  CONFIG_MD5 := $(shell md5sum $(KERNEL_CONFIG) 2>/dev/null | sed 's/\s.*//')
 | |
| +STAMP_KERNEL_CONFIG := .kernel_config_md5_$(CONFIG_MD5)
 | |
|  
 | |
|  export KLIB KLIB_BUILD BACKPORT_DIR KMODDIR KMODPATH_ARG
 | |
|  
 | |
| @@ -36,7 +37,8 @@ mrproper:
 | |
|  	@rm -f .kernel_config_md5 Kconfig.versions Kconfig.kernel
 | |
|  	@rm -f backport-include/backport/autoconf.h
 | |
|  
 | |
| -.DEFAULT:
 | |
| +.SILENT: $(STAMP_KERNEL_CONFIG)
 | |
| +$(STAMP_KERNEL_CONFIG):
 | |
|  	@set -e ; test -f .local-symbols || (						\
 | |
|  	echo "/--------------"								;\
 | |
|  	echo "| You shouldn't run make in the backports tree, but only in"		;\
 | |
| @@ -60,57 +62,61 @@ mrproper:
 | |
|  	echo "| (that isn't currently running.)"					;\
 | |
|  	echo "\\--"									;\
 | |
|  	false)
 | |
| -	@set -e ; if [ "$$(cat .kernel_config_md5 2>/dev/null)" != "$(CONFIG_MD5)" ]	;\
 | |
| -	then 										\
 | |
| -		echo -n "Generating local configuration database from kernel ..."	;\
 | |
| -		grep -v -f .local-symbols $(KERNEL_CONFIG) | grep = | (			\
 | |
| -			while read l ; do						\
 | |
| -				if [ "$${l:0:7}" != "CONFIG_" ] ; then			\
 | |
| -					continue					;\
 | |
| -				fi							;\
 | |
| -				l=$${l:7}						;\
 | |
| -				n=$${l%%=*}						;\
 | |
| -				v=$${l#*=}						;\
 | |
| -				if [ "$$v" = "m" ] ; then				\
 | |
| -					echo config $$n					;\
 | |
| -					echo '    tristate' 				;\
 | |
| -				elif [ "$$v" = "y" ] ; then				\
 | |
| -					echo config $$n					;\
 | |
| -					echo '    bool'					;\
 | |
| -				else							\
 | |
| -					continue					;\
 | |
| -				fi							;\
 | |
| -				echo "    default $$v"					;\
 | |
| -				echo ""							;\
 | |
| -			done								\
 | |
| -		) > Kconfig.kernel							;\
 | |
| -		kver=$$($(MAKE) --no-print-directory -C $(KLIB_BUILD) kernelversion |	\
 | |
| -			sed 's/^\(\([3-4]\|2\.6\)\.[0-9]\+\).*/\1/;t;d')		;\
 | |
| -		test "$$kver" != "" || echo "Kernel version parse failed!"		;\
 | |
| -		test "$$kver" != ""							;\
 | |
| -		kvers="$$(seq 14 39 | sed 's/^/2.6./')"					;\
 | |
| -		kvers="$$kvers $$(seq 0 19 | sed 's/^/3./')"				;\
 | |
| -		kvers="$$kvers $$(seq 0 99 | sed 's/^/4./')"				;\
 | |
| -		print=0									;\
 | |
| -		for v in $$kvers ; do							\
 | |
| -			if [ "$$print" = "1" ] ; then					\
 | |
| -				echo config KERNEL_$$(echo $$v | tr . _)	;\
 | |
| -				echo "    def_bool y"					;\
 | |
| -			fi								;\
 | |
| -			if [ "$$v" = "$$kver" ] ; then print=1 ; fi			;\
 | |
| -		done > Kconfig.versions							;\
 | |
| -		# RHEL as well, sadly we need to grep for it				;\
 | |
| -		RHEL_MAJOR=$$(grep '^RHEL_MAJOR' $(KERNEL_MAKEFILE) | 			\
 | |
| -					sed 's/.*=\s*\([0-9]*\)/\1/;t;d')		;\
 | |
| -		RHEL_MINOR=$$(grep '^RHEL_MINOR' $(KERNEL_MAKEFILE) | 			\
 | |
| -					sed 's/.*=\s*\([0-9]*\)/\1/;t;d')		;\
 | |
| -		for v in $$(seq 0 $$RHEL_MINOR) ; do 					\
 | |
| -			echo config BACKPORT_RHEL_KERNEL_$${RHEL_MAJOR}_$$v		;\
 | |
| -			echo "    def_bool y"						;\
 | |
| -		done >> Kconfig.versions						;\
 | |
| -		echo " done."								;\
 | |
| -	fi										;\
 | |
| -	echo "$(CONFIG_MD5)" > .kernel_config_md5
 | |
| +	@rm -f .kernel_config_md5_*
 | |
| +	@touch $@
 | |
| +
 | |
| +Kconfig.kernel: $(STAMP_KERNEL_CONFIG) .local-symbols
 | |
| +	@printf "Generating local configuration database from kernel ..."
 | |
| +	@grep -v -f .local-symbols $(KERNEL_CONFIG) | grep = | (			\
 | |
| +		while read l ; do						\
 | |
| +			if [ "$${l:0:7}" != "CONFIG_" ] ; then			\
 | |
| +				continue					;\
 | |
| +			fi							;\
 | |
| +			l=$${l:7}						;\
 | |
| +			n=$${l%%=*}						;\
 | |
| +			v=$${l#*=}						;\
 | |
| +			if [ "$$v" = "m" ] ; then				\
 | |
| +				echo config $$n					;\
 | |
| +				echo '    tristate' 				;\
 | |
| +			elif [ "$$v" = "y" ] ; then				\
 | |
| +				echo config $$n					;\
 | |
| +				echo '    bool'					;\
 | |
| +			else							\
 | |
| +				continue					;\
 | |
| +			fi							;\
 | |
| +			echo "    default $$v"					;\
 | |
| +			echo ""							;\
 | |
| +		done								\
 | |
| +	) > $@
 | |
| +	@echo " done."
 | |
| +
 | |
| +Kconfig.versions: Kconfig.kernel
 | |
| +	@kver=$$($(MAKE) --no-print-directory -C $(KLIB_BUILD) kernelversion |	\
 | |
| +		sed 's/^\(\([3-4]\|2\.6\)\.[0-9]\+\).*/\1/;t;d')		;\
 | |
| +	test "$$kver" != "" || echo "Kernel version parse failed!"		;\
 | |
| +	test "$$kver" != ""							;\
 | |
| +	kvers="$$(seq 14 39 | sed 's/^/2.6./')"					;\
 | |
| +	kvers="$$kvers $$(seq 0 19 | sed 's/^/3./')"				;\
 | |
| +	kvers="$$kvers $$(seq 0 99 | sed 's/^/4./')"				;\
 | |
| +	print=0									;\
 | |
| +	for v in $$kvers ; do							\
 | |
| +		if [ "$$print" = "1" ] ; then					\
 | |
| +			echo config KERNEL_$$(echo $$v | tr . _)	;\
 | |
| +			echo "    def_bool y"					;\
 | |
| +		fi								;\
 | |
| +		if [ "$$v" = "$$kver" ] ; then print=1 ; fi			;\
 | |
| +	done > $@
 | |
| +	@RHEL_MAJOR=$$(grep '^RHEL_MAJOR' $(KERNEL_MAKEFILE) | 			\
 | |
| +				sed 's/.*=\s*\([0-9]*\)/\1/;t;d')		;\
 | |
| +	RHEL_MINOR=$$(grep '^RHEL_MINOR' $(KERNEL_MAKEFILE) | 			\
 | |
| +				sed 's/.*=\s*\([0-9]*\)/\1/;t;d')		;\
 | |
| +	for v in $$(seq 0 $$RHEL_MINOR) ; do 					\
 | |
| +		echo config BACKPORT_RHEL_KERNEL_$${RHEL_MAJOR}_$$v		;\
 | |
| +		echo "    def_bool y"						;\
 | |
| +	done >> $@
 | |
| +
 | |
| +.DEFAULT:
 | |
| +	@$(MAKE) Kconfig.versions
 | |
|  	@$(MAKE) -f Makefile.real "$@"
 | |
|  
 | |
|  .PHONY: defconfig-help
 | |
| --- a/Makefile.real
 | |
| +++ b/Makefile.real
 | |
| @@ -59,7 +59,7 @@ defconfig-%::
 | |
|  
 | |
|  backport-include/backport/autoconf.h: .config Kconfig.versions Kconfig.kernel
 | |
|  	@$(MAKE) oldconfig
 | |
| -	@echo -n "Building backport-include/backport/autoconf.h ..."
 | |
| +	@printf "Building backport-include/backport/autoconf.h ..."
 | |
|  	@grep -f .local-symbols .config | (				\
 | |
|  		echo "#ifndef COMPAT_AUTOCONF_INCLUDED"			;\
 | |
|  		echo "#define COMPAT_AUTOCONF_INCLUDED"			;\
 | |
| @@ -80,7 +80,12 @@ backport-include/backport/autoconf.h: .c
 | |
|  			esac						;\
 | |
|  		done							;\
 | |
|  		echo "#endif /* COMPAT_AUTOCONF_INCLUDED */"		;\
 | |
| -	) > backport-include/backport/autoconf.h
 | |
| +	) > $@.new
 | |
| +	@if cmp -s $@ $@.new; then \
 | |
| +		rm -f $@.new; \
 | |
| +	else \
 | |
| +		mv $@.new $@; \
 | |
| +	fi
 | |
|  	@echo " done."
 | |
|  
 | |
|  .PHONY: modules
 | 
