Erro no Makefile: nome da variável vazia

4

Estou escrevendo um módulo simples do kernel Hello World. O Makefile que eu escrevi está me dando um erro assim:

esp@ubuntu:~/task1-2$ make all

make -C /usr/src/linux-headers-3.13.0-35-generic SUBDIRS = /home/esp/task1-2 modules
make: ****** empty variable name.  Stop.
make: ** [all] Error 2

Como faço para corrigir isso?

Meu Makefile:

obj-m += task1-2.o

KDIR = /usr/src/linux-headers-3.13.0-35-generic


all:
    $(MAKE) -C $(KDIR) SUBDIRS = $(PWD) modules

clean:
    rm -f *.o
    rm -f *.ko
    rm -f *.mod.*
    rm -f *.symvers
    rm -f *.order
    
por Sakshi Malhotra 06.09.2014 / 02:31

1 resposta

5

A seção 9.3 do manual (GNU) Make descreve as variáveis que sobrescrevem.

An argument that contains ‘=’ specifies the value of a variable: ‘v=x’ sets the value of the variable v to x.

O problema não é com o seu makefile, mas com a invocação. O argumento que contém = é apenas = . Make não concatena vários argumentos em um que você deve especificar: SUBDIRS=/home/esp/task1-2 .

    
por 06.09.2014 / 07:42

Tags