On Wed, 2017-03-01 at 12:30 -0500, Frank Ch. Eigler wrote:
> Hi -
> 
> > [...]  Running in verbose mode, it shows: [...]  Those paths are
> > provided by the linux-headers-xxx-amd64 (or equivalent arch)
> > package. In Debian, build/ and source/ paths are pointing to
> > separate locations, provided by separate package. [...]
> 
> Could you provide a make V=1 transcript of any nontrivial out-of-tree
> module (plus its Makefile) that builds & works on your kernel?

Here's a log attached. It was generated with V=1 through dkms on out-of-tree
module for broadcom-sta driver.


-- 
Ritesh Raj Sarraf | http://people.debian.org/~rrs
Debian - The Universal Operating System
DKMS make.log for broadcom-sta-6.30.223.271 for kernel 4.9.0-2-amd64 (x86_64)
Wed Mar  1 23:38:34 IST 2017
/bin/sh: 1: [: Illegal number: 
/bin/sh: 1: [: Illegal number: 
Wireless Extension is the only possible API for this kernel version
Using Wireless Extension API
KBUILD_NOPEDANTIC=1 make -C /lib/modules/4.9.0-2-amd64/build M=`pwd`
make[1]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.
make[1]: Entering directory '/usr/src/linux-headers-4.9.0-2-amd64'
make -C /usr/src/linux-headers-4.9.0-2-amd64 KBUILD_SRC=/usr/src/linux-headers-4.9.0-2-common \
-f /usr/src/linux-headers-4.9.0-2-common/Makefile 
test -e include/generated/autoconf.h -a -e include/config/auto.conf || (		\
echo >&2;							\
echo >&2 "  ERROR: Kernel configuration is invalid.";		\
echo >&2 "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix it.";	\
echo >&2 ;							\
/bin/false)
mkdir -p /var/lib/dkms/broadcom-sta/6.30.223.271/build/.tmp_versions ; rm -f /var/lib/dkms/broadcom-sta/6.30.223.271/build/.tmp_versions/*
make -f /usr/src/linux-headers-4.9.0-2-common/scripts/Makefile.build obj=/var/lib/dkms/broadcom-sta/6.30.223.271/build
CFG80211 API is prefered for this kernel version
Using CFG80211 API
Kernel architecture is X86_64
   rm -f /var/lib/dkms/broadcom-sta/6.30.223.271/build/built-in.o; ar rcsD /var/lib/dkms/broadcom-sta/6.30.223.271/build/built-in.o
   gcc-6 -Wp,-MD,/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/shared/.linux_osl.o.d  -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/6/include -I/usr/src/linux-headers-4.9.0-2-common/arch/x86/include -I./arch/x86/include/generated/uapi -I./arch/x86/include/generated  -I/usr/src/linux-headers-4.9.0-2-common/include -I./include -I/usr/src/linux-headers-4.9.0-2-common/arch/x86/include/uapi -I/usr/src/linux-headers-4.9.0-2-common/include/uapi -I./include/generated/uapi -include /usr/src/linux-headers-4.9.0-2-common/include/linux/kconfig.h -I/usr/src/linux-headers-4.9.0-2-common//var/lib/dkms/broadcom-sta/6.30.223.271/build -I/var/lib/dkms/broadcom-sta/6.30.223.271/build -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -DCONFIG_X86_X32_ABI -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_SSSE3=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -DCONFIG_AS_AVX512=1 -DCONFIG_AS_SHA1_NI=1 -DCONFIG_AS_SHA256_NI=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -fno-delete-null-pointer-checks -Wno-frame-address -O2 --param=allow-store-data-races=0 -Wframe-larger-than=2048 -fstack-protector-strong -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-var-tracking-assignments -g -pg -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -Werror=incompatible-pointer-types -DCC_HAVE_ASM_GOTO -DUSE_CFG80211  -I/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/include  -I/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/common/include  -I/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/sys  -I/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/phy  -I/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/ppr/include  -I/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/shared/bcmwifi/include -Wno-date-time  -DMODULE  -DKBUILD_BASENAME='"linux_osl"'  -DKBUILD_MODNAME='"wl"' -c -o /var/lib/dkms/broadcom-sta/6.30.223.271/build/src/shared/.tmp_linux_osl.o /var/lib/dkms/broadcom-sta/6.30.223.271/build/src/shared/linux_osl.c
  if [ "-pg" = "-pg" ]; then if [ /var/lib/dkms/broadcom-sta/6.30.223.271/build/src/shared/linux_osl.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount  "/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/shared/linux_osl.o"; fi; fi;
   gcc-6 -Wp,-MD,/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/sys/.wl_linux.o.d  -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/6/include -I/usr/src/linux-headers-4.9.0-2-common/arch/x86/include -I./arch/x86/include/generated/uapi -I./arch/x86/include/generated  -I/usr/src/linux-headers-4.9.0-2-common/include -I./include -I/usr/src/linux-headers-4.9.0-2-common/arch/x86/include/uapi -I/usr/src/linux-headers-4.9.0-2-common/include/uapi -I./include/generated/uapi -include /usr/src/linux-headers-4.9.0-2-common/include/linux/kconfig.h -I/usr/src/linux-headers-4.9.0-2-common//var/lib/dkms/broadcom-sta/6.30.223.271/build -I/var/lib/dkms/broadcom-sta/6.30.223.271/build -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -DCONFIG_X86_X32_ABI -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_SSSE3=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -DCONFIG_AS_AVX512=1 -DCONFIG_AS_SHA1_NI=1 -DCONFIG_AS_SHA256_NI=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -fno-delete-null-pointer-checks -Wno-frame-address -O2 --param=allow-store-data-races=0 -Wframe-larger-than=2048 -fstack-protector-strong -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-var-tracking-assignments -g -pg -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -Werror=incompatible-pointer-types -DCC_HAVE_ASM_GOTO -DUSE_CFG80211  -I/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/include  -I/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/common/include  -I/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/sys  -I/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/phy  -I/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/ppr/include  -I/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/shared/bcmwifi/include -Wno-date-time  -DMODULE  -DKBUILD_BASENAME='"wl_linux"'  -DKBUILD_MODNAME='"wl"' -c -o /var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/sys/.tmp_wl_linux.o /var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/sys/wl_linux.c
/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/sys/wl_linux.c: In function ‘wl_pci_probe’:
/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/sys/wl_linux.c:774:2: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
  if ((val & 0x0000ff00) != 0)
  ^~
/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/sys/wl_linux.c:776:3: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
   bar1_size = pci_resource_len(pdev, 2);
   ^~~~~~~~~
  if [ "-pg" = "-pg" ]; then if [ /var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/sys/wl_linux.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount  "/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/sys/wl_linux.o"; fi; fi;
   gcc-6 -Wp,-MD,/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/sys/.wl_iw.o.d  -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/6/include -I/usr/src/linux-headers-4.9.0-2-common/arch/x86/include -I./arch/x86/include/generated/uapi -I./arch/x86/include/generated  -I/usr/src/linux-headers-4.9.0-2-common/include -I./include -I/usr/src/linux-headers-4.9.0-2-common/arch/x86/include/uapi -I/usr/src/linux-headers-4.9.0-2-common/include/uapi -I./include/generated/uapi -include /usr/src/linux-headers-4.9.0-2-common/include/linux/kconfig.h -I/usr/src/linux-headers-4.9.0-2-common//var/lib/dkms/broadcom-sta/6.30.223.271/build -I/var/lib/dkms/broadcom-sta/6.30.223.271/build -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -DCONFIG_X86_X32_ABI -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_SSSE3=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -DCONFIG_AS_AVX512=1 -DCONFIG_AS_SHA1_NI=1 -DCONFIG_AS_SHA256_NI=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -fno-delete-null-pointer-checks -Wno-frame-address -O2 --param=allow-store-data-races=0 -Wframe-larger-than=2048 -fstack-protector-strong -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-var-tracking-assignments -g -pg -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -Werror=incompatible-pointer-types -DCC_HAVE_ASM_GOTO -DUSE_CFG80211  -I/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/include  -I/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/common/include  -I/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/sys  -I/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/phy  -I/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/ppr/include  -I/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/shared/bcmwifi/include -Wno-date-time  -DMODULE  -DKBUILD_BASENAME='"wl_iw"'  -DKBUILD_MODNAME='"wl"' -c -o /var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/sys/.tmp_wl_iw.o /var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/sys/wl_iw.c
  if [ "-pg" = "-pg" ]; then if [ /var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/sys/wl_iw.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount  "/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/sys/wl_iw.o"; fi; fi;
   gcc-6 -Wp,-MD,/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/sys/.wl_cfg80211_hybrid.o.d  -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/6/include -I/usr/src/linux-headers-4.9.0-2-common/arch/x86/include -I./arch/x86/include/generated/uapi -I./arch/x86/include/generated  -I/usr/src/linux-headers-4.9.0-2-common/include -I./include -I/usr/src/linux-headers-4.9.0-2-common/arch/x86/include/uapi -I/usr/src/linux-headers-4.9.0-2-common/include/uapi -I./include/generated/uapi -include /usr/src/linux-headers-4.9.0-2-common/include/linux/kconfig.h -I/usr/src/linux-headers-4.9.0-2-common//var/lib/dkms/broadcom-sta/6.30.223.271/build -I/var/lib/dkms/broadcom-sta/6.30.223.271/build -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -DCONFIG_X86_X32_ABI -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_SSSE3=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -DCONFIG_AS_AVX512=1 -DCONFIG_AS_SHA1_NI=1 -DCONFIG_AS_SHA256_NI=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -fno-delete-null-pointer-checks -Wno-frame-address -O2 --param=allow-store-data-races=0 -Wframe-larger-than=2048 -fstack-protector-strong -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-var-tracking-assignments -g -pg -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -Werror=incompatible-pointer-types -DCC_HAVE_ASM_GOTO -DUSE_CFG80211  -I/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/include  -I/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/common/include  -I/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/sys  -I/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/phy  -I/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/ppr/include  -I/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/shared/bcmwifi/include -Wno-date-time  -DMODULE  -DKBUILD_BASENAME='"wl_cfg80211_hybrid"'  -DKBUILD_MODNAME='"wl"' -c -o /var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/sys/.tmp_wl_cfg80211_hybrid.o /var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/sys/wl_cfg80211_hybrid.c
  if [ "-pg" = "-pg" ]; then if [ /var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/sys/wl_cfg80211_hybrid.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount  "/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/sys/wl_cfg80211_hybrid.o"; fi; fi;
  ld -m elf_x86_64  /var/lib/dkms/broadcom-sta/6.30.223.271/build/lib/wlc_hybrid.o_amd64 -r -o /var/lib/dkms/broadcom-sta/6.30.223.271/build/wl.o /var/lib/dkms/broadcom-sta/6.30.223.271/build/src/shared/linux_osl.o /var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/sys/wl_linux.o /var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/sys/wl_iw.o /var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/sys/wl_cfg80211_hybrid.o 
(cat /dev/null;   echo kernel//var/lib/dkms/broadcom-sta/6.30.223.271/build/wl.ko;) > /var/lib/dkms/broadcom-sta/6.30.223.271/build/modules.order
make -f /usr/src/linux-headers-4.9.0-2-common/scripts/Makefile.modpost
CFG80211 API is prefered for this kernel version
Using CFG80211 API
Kernel architecture is X86_64
  find /var/lib/dkms/broadcom-sta/6.30.223.271/build/.tmp_versions -name '*.mod' | xargs -r grep -h '\.ko$' | sort -u | sed 's/\.ko$/.o/' | scripts/mod/modpost -m  -i ./Module.symvers -I /var/lib/dkms/broadcom-sta/6.30.223.271/build/Module.symvers  -o /var/lib/dkms/broadcom-sta/6.30.223.271/build/Module.symvers -S  -w  -s -T -
   gcc-6 -Wp,-MD,/var/lib/dkms/broadcom-sta/6.30.223.271/build/.wl.mod.o.d  -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/6/include -I/usr/src/linux-headers-4.9.0-2-common/arch/x86/include -I./arch/x86/include/generated/uapi -I./arch/x86/include/generated  -I/usr/src/linux-headers-4.9.0-2-common/include -I./include -I/usr/src/linux-headers-4.9.0-2-common/arch/x86/include/uapi -I/usr/src/linux-headers-4.9.0-2-common/include/uapi -I./include/generated/uapi -include /usr/src/linux-headers-4.9.0-2-common/include/linux/kconfig.h -I/usr/src/linux-headers-4.9.0-2-common//var/lib/dkms/broadcom-sta/6.30.223.271/build -I/var/lib/dkms/broadcom-sta/6.30.223.271/build -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -DCONFIG_X86_X32_ABI -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_SSSE3=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -DCONFIG_AS_AVX512=1 -DCONFIG_AS_SHA1_NI=1 -DCONFIG_AS_SHA256_NI=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -fno-delete-null-pointer-checks -Wno-frame-address -O2 --param=allow-store-data-races=0 -Wframe-larger-than=2048 -fstack-protector-strong -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-var-tracking-assignments -g -pg -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -Werror=incompatible-pointer-types -DCC_HAVE_ASM_GOTO -DUSE_CFG80211  -I/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/include  -I/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/common/include  -I/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/sys  -I/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/phy  -I/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/wl/ppr/include  -I/var/lib/dkms/broadcom-sta/6.30.223.271/build/src/shared/bcmwifi/include -Wno-date-time  -DKBUILD_BASENAME='"wl.mod"'  -DKBUILD_MODNAME='"wl"' -DMODULE  -c -o /var/lib/dkms/broadcom-sta/6.30.223.271/build/wl.mod.o /var/lib/dkms/broadcom-sta/6.30.223.271/build/wl.mod.c
  ld -r -m elf_x86_64 -T /usr/src/linux-headers-4.9.0-2-common/scripts/module-common.lds --build-id  -o /var/lib/dkms/broadcom-sta/6.30.223.271/build/wl.ko /var/lib/dkms/broadcom-sta/6.30.223.271/build/wl.o /var/lib/dkms/broadcom-sta/6.30.223.271/build/wl.mod.o ;  true
make[1]: Leaving directory '/usr/src/linux-headers-4.9.0-2-amd64'
#
# Makefile fragment for Linux 2.6
# Broadcom 802.11abg Networking Device Driver
#
# Copyright (C) 2015, Broadcom Corporation. All Rights Reserved.
# 
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
# 
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
# SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
# OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# $Id: Makefile_kbuild_portsrc 580354 2015-08-18 23:42:37Z $
#

V = 1

ifneq ($(KERNELRELEASE),)

  LINUXVER_GOODFOR_CFG80211:=$(strip $(shell \
    if [ "$(VERSION)" -ge "2" -a "$(PATCHLEVEL)" -ge "6" -a "$(SUBLEVEL)" -ge "32" -o "$(VERSION)" -ge "3" ]; then \
      echo TRUE; \
    else \
      echo FALSE; \
    fi \
  ))

    LINUXVER_WEXT_ONLY:=$(strip $(shell \
    if [ "$(VERSION)" -ge "2" -a "$(PATCHLEVEL)" -ge "6" -a "$(SUBLEVEL)" -ge "17" ]; then \
      echo FALSE; \
    else \
      echo TRUE; \
    fi \
  ))

  ifneq ($(API),)
    ifeq ($(API), CFG80211)
      APICHOICE := FORCE_CFG80211
      $(info CFG80211 API specified in command line)
    else
      ifeq ($(API), WEXT)
        APICHOICE := FORCE_WEXT
        $(info Wireless Extension API specified in command line)
      else
        $(error Unknown API type)
      endif
    endif
  else
    ifeq ($(LINUXVER_GOODFOR_CFG80211),TRUE)
      APICHOICE := PREFER_CFG80211
      $(info CFG80211 API is prefered for this kernel version)
    else
      ifeq ($(LINUXVER_WEXT_ONLY),TRUE)
        APICHOICE := FORCE_WEXT
        $(info Wireless Extension is the only possible API for this kernel version)
      else
        APICHOICE := PREFER_WEXT
        $(info Wireless Extension API is prefered for this kernel version)
      endif
    endif
  endif

  ifeq ($(APICHOICE),FORCE_CFG80211)
    ifneq ($(CONFIG_CFG80211),)
      APIFINAL := CFG80211
    else
      $(error CFG80211 is specified but it is not enabled in kernel)
    endif
  endif

  ifeq ($(APICHOICE),FORCE_WEXT)
    APIFINAL := WEXT
  endif

  ifeq ($(APICHOICE),PREFER_CFG80211)
    ifneq ($(CONFIG_CFG80211),)
      APIFINAL := CFG80211
    else
      ifneq ($(CONFIG_WIRELESS_EXT),)
        APIFINAL := WEXT
      else
        $(warning Neither CFG80211 nor Wireless Extension is enabled in kernel)
      endif
    endif
  endif

  ifeq ($(APICHOICE),PREFER_WEXT)
    ifneq ($(CONFIG_WIRELESS_EXT),)
      APIFINAL := WEXT
    else
      ifneq ($(CONFIG_CFG80211),)
        APIFINAL := CFG80211
      else
        $(warning Neither CFG80211 nor Wireless Extension is enabled in kernel)
      endif
    endif
  endif

endif

#Check GCC version so we can apply -Wno-date-time if supported.  GCC >= 4.9
empty:=
space:= $(empty) $(empty)
GCCVERSIONSTRING := $(shell expr `$(CC) -dumpversion`)
#Create version number without "."
GCCVERSION := $(shell expr `echo $(GCCVERSIONSTRING)` | cut -f1 -d.)
GCCVERSION += $(shell expr `echo $(GCCVERSIONSTRING)` | cut -f2 -d.)
GCCVERSION += $(shell expr `echo $(GCCVERSIONSTRING)` | cut -f3 -d.)
# Make sure the version number has at least 3 decimals
GCCVERSION += 00
# Remove spaces from the version number
GCCVERSION := $(subst $(space),$(empty),$(GCCVERSION))
# Crop the version number to 3 decimals.
GCCVERSION := $(shell expr `echo $(GCCVERSION)` | cut -b1-3)
GE_49 := $(shell expr `echo $(GCCVERSION)` \>= 490)

EXTRA_CFLAGS :=

ifeq ($(APIFINAL),CFG80211)
  EXTRA_CFLAGS += -DUSE_CFG80211
  $(info Using CFG80211 API)
endif

ifeq ($(APIFINAL),WEXT)
  EXTRA_CFLAGS += -DUSE_IW
  $(info Using Wireless Extension API)
endif

obj-m              += wl.o

wl-objs            :=
wl-objs            += src/shared/linux_osl.o
wl-objs            += src/wl/sys/wl_linux.o
wl-objs            += src/wl/sys/wl_iw.o
wl-objs            += src/wl/sys/wl_cfg80211_hybrid.o

EXTRA_CFLAGS       += -I$(src)/src/include -I$(src)/src/common/include
EXTRA_CFLAGS       += -I$(src)/src/wl/sys -I$(src)/src/wl/phy -I$(src)/src/wl/ppr/include
EXTRA_CFLAGS       += -I$(src)/src/shared/bcmwifi/include
#EXTRA_CFLAGS       += -DBCMDBG_ASSERT -DBCMDBG_ERR
ifeq "$(GE_49)" "1"
EXTRA_CFLAGS       += -Wno-date-time
endif

# Look for kernel architecture.
# Check for a config symbol that should always be defined, so we don't
# fail on 'make clean' which doesn't include .config
ifeq ($(CONFIG_NET),y)
    ifeq ($(CONFIG_X86_32),y)
        SHIPPED=wlc_hybrid.o_i386
        $(info Kernel architecture is X86_32)
    else
        ifeq ($(CONFIG_X86_64),y)
            SHIPPED=wlc_hybrid.o_amd64
            $(info Kernel architecture is X86_64)
        else # Error!
            $(error Unsupported kernel architecture)
        endif
    endif
endif

EXTRA_LDFLAGS      := $(src)/lib/$(SHIPPED)

KVER               ?= $(shell uname -r)
KBASE              ?= /lib/modules/$(KVER)
KBUILD_DIR         ?= $(KBASE)/build
MDEST_DIR          ?= $(KBASE)/kernel/drivers/net/wireless

# Cross compile setup.  Tool chain and kernel tree, replace with your own.
CROSS_TOOLS        = /path/to/tools
CROSS_KBUILD_DIR   = /path/to/kernel/tree

all:
	KBUILD_NOPEDANTIC=1 make -C $(KBUILD_DIR) M=`pwd`

cross:
	KBUILD_NOPEDANTIC=1 make CROSS_COMPILE=${CROSS_TOOLS} -C $(CROSS_KBUILD_DIR) M=`pwd`

clean:
	KBUILD_NOPEDANTIC=1 make -C $(KBUILD_DIR) M=`pwd` clean

install:
	install -D -m 755 wl.ko $(MDEST_DIR)

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to