Announcement

Collapse
No announcement yet.

make config: Makefile:291: *** mixed implicit and normal rules. Stop. (fixed)

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • make config: Makefile:291: *** mixed implicit and normal rules. Stop. (fixed)

    Running "make config" results in:
    Code:
    cd <install directory>/linux; make config
    make[1]: Entering directory `<install directory>/linux'
    Makefile:291: *** mixed implicit and normal rules.  Stop.
    make[1]: Leaving directory `<install directory>/linux'
    make: *** [config] Error 2
    In make 3.82 the parser was "tightened" and mixing of implicit and normal rules is no longer possible (see http://lists.gnu.org/archive/html/bu.../msg00091.html)
    This is a patch for the Linux SDK (tested against 2.0.0.2 and 2.0.0.3) "linux/Makefile" to support make >= 3.82:
    Code:
    --- linux/Makefile.orig 2014-05-02 09:56:33.446000760 +0200
    +++ linux/Makefile      2014-05-02 10:06:03.994551257 +0200
    @@ -288,7 +288,22 @@
            $(MAKEARCH) -C vendors [email protected]
     
     .PHONY: linux
    -linux linux%_only:
    +linux%_only:
    +       . $(LINUXDIR)/.config; if [ "$$CONFIG_INITRAMFS_SOURCE" != "" ]; then \
    +               mkdir -p `dirname $$CONFIG_INITRAMFS_SOURCE`; \
    +               touch $$CONFIG_INITRAMFS_SOURCE || exit 1; \
    +       fi
    +       @if expr "$(LINUXDIR)" : 'linux-2\.[0-4].*' > /dev/null && \
    +                        [ ! -f $(LINUXDIR)/.depend ] ; then \
    +       echo "ERROR: you need to do a 'make dep' first" ; \
    +       exit 1 ; \
    +       fi
    +       $(MAKEARCH_KERNEL) -j$(HOST_NCPU) -C $(LINUXDIR) $(LINUXTARGET) || exit 1
    +       if [ -f $(LINUXDIR)/vmlinux ]; then \
    +               ln -f $(LINUXDIR)/vmlinux $(LINUXDIR)/linux ; \
    +       fi
    +
    +linux:
            . $(LINUXDIR)/.config; if [ "$$CONFIG_INITRAMFS_SOURCE" != "" ]; then \
                    mkdir -p `dirname $$CONFIG_INITRAMFS_SOURCE`; \
                    touch $$CONFIG_INITRAMFS_SOURCE || exit 1; \
    To apply the patch copy the code into <install directory>/make382.patch and run
    Code:
    patch linux/Makefile < make382.patch
Working...
X