Como eu faço o comando 'make' funcionar?

3

Estou tentando "Programação do módulo kernel do Linux - Compilando o módulo", como em este vídeo do youtube.

Primeiro, criei um programa hello.c . Então eu usei o comando #gedit Makefile . Ele abre uma janela que está vazia no gedit.

Eu tentei copiar os mesmos comandos, mas executando o comando make

mostrou um erro:

make:*** No rule to make target 'make', needed by 'all'. Stop. 

Pesquisando alguns formulários do Ubuntu, tentei:

sudo apt-get install build essentials 
sudo apt-get install make
sudo apt-get install autoconf automake

Toda vez que eu executei este comando, alguns pacotes foram instalados.

Eu fui e fiz o check-in:

root@unbuntu: /lib/modules/3.5.0-17-generic/build

Eu posso ver 'Makefile' quando digitado comando ls , mas ainda tenho o mesmo problema O comando make ainda não está funcionando, pois o comando gedit Makefile abre um editor em branco.

    
por Raady 29.01.2013 / 05:44

1 resposta

1

Como Gerhard diz, é um problema com o makefile.

No vídeo, o autor preparou um makefile e, portanto, você precisa copiar as instruções dele em seu próprio arquivo de criação.

Eu mesmo tentei suas instruções e certifiquei-me de copiar o Makefile exatamente, o que funcionou bem, então, se você verificar cuidadosamente o seu arquivo em busca de erros, esperamos encontrá-lo. Aqui está o meu arquivo, que funciona, você pode economizar algum tempo copiando-o.

obj-m += hello.o

KDIR=/usr/src/linux-headers-3.5.0-22-generic/

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

clean:
rm -rf *.ko *.o *.mod.* *.symvers *.order

Uma coisa a observar com Makefiles, que não é mencionado no vídeo, é que nesta parte

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

A linha $(MAKE) deve ser recuada com espaços TAB, não .

    
por user50849 29.01.2013 / 17:19

Tags