Meu makefile resulta em: Nenhuma regra para tornar alvo 'arch / x86 / tools / relocs.c', necessário

2

Estou usando o Ubuntu 12.04. Eu escrevi um módulo simples de hello world kernel ( hello.c ). Eu escrevi o seguinte makefile para ele:

obj-m+=hello.o
KDIR:= /usr/src/linux-headers-3.2.0-24-generic-pae
all:
     $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
clean:
     rm -rf *.o *.ko *.mod.* *.symvers *.order 

Mas esse erro apareceu quando eu fiz do kernel:

make[1]: Entering directory '/usr/src/linux-headers-3.2.0-24-generic-pae'
make[2]: *** No rule to make target 'arch/x86/tools/relocs.c', needed
by 'arch/x86/tools/relocs'.  Stop.

hello.c e makefile estão em /Documents/module_prog . Eu corri make desse diretório.

O que está causando esse erro e como posso corrigi-lo?

    
por Avinash Kumar 26.12.2012 / 08:14

1 resposta

2

No arquivo de criação, altere apenas SUBDIRS=$(PWD) para M=$(shell pwd) ...

Funciona como charme

    
por jero2rome 12.03.2013 / 11:39