makefile隐含与普通规则错误

640阅读 0评论2017-11-14 可怜的猪头
分类:LINUX

如上图  TOP_PATH = $(shell pwd) 就可以获取工程所在的绝对目录,其他所有文件夹根据这个目录来获得目录地址。

SRC_PATH = $(TOP_PATH)/src/
BIN_PATH = $(TOP_PATH)/bin/
LIB_PATH = $(TOP_PATH)/lib/
INC_PATH = $(TOP_PATH)/include/



 这个原因可能是Make工具对低版本内核的Makefile一些旧的规则兼容不好,我们只需要修改对应的Makefile。

    如 一:


    原始的:
        / %/: prepare scripts FORCE
                $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \


                $(build)=$(build-dir)
    修改后:
        /: prepare scripts FORCE
                $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
                $(build)=$(build-dir)
        %/: prepare scripts FORCE
                $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
                $(build)=$(build-dir)

    如二:


    原始的:
        config %config: scripts_basic outputmakefile FORCE
                $(Q)mkdir -p include/linux include/config
                $(Q)$(MAKE) $(build)=scripts/kconfig $@

    修改后:
        config: scripts_basic outputmakefile FORCE
                $(Q)mkdir -p include/linux include/config
                $(Q)$(MAKE) $(build)=scripts/kconfig $@
        %config: scripts_basic outputmakefile FORCE
                $(Q)mkdir -p include/linux include/config
                $(Q)$(MAKE) $(build)=scripts/kconfig $@



hostapd:
        cd hostapd-2.6/hostapd &&  sed -i -e '28c BINDIR = $(TOP_PATH)\/..\/install_root\/usr\/local' Makefile  && make
hostapd_install:
        cd hostapd-2.6/hostapd && make install

上一篇:dpdk原理 dpdk中文-编译笔记
下一篇:makefile include 文件中取当前路径的问题mark