Pesquisar

2.5.2. Usando o comando make install

download PDF

O uso do comando make install é uma forma automatizada de instalar o software construído no sistema. Neste caso, é necessário especificar como instalar os artefatos arbitrários ao sistema no Makefile que é normalmente escrito pelo desenvolvedor.

Este procedimento mostra como instalar um artefato de construção em um local escolhido no sistema.

Procedimento

  1. Adicione a seção install ao site Makefile:

    Makefile

    cello:
    	gcc -g -o cello cello.c
    
    clean:
    	rm cello
    
    install:
    	mkdir -p $(DESTDIR)/usr/bin
    	install -m 0755 cello $(DESTDIR)/usr/bin/cello

    Observe que as linhas sob cello:, clean: e install: devem começar com um espaço de tabulação.

    Nota

    A variável $(DESTDIR) é uma variável do GNU e é comumente usada para especificar a instalação em um diretório diferente do diretório raiz.

    Agora você pode usar Makefile não apenas para construir software, mas também para instalá-lo no sistema alvo.

  2. Construir e instalar o programa cello.c:

    $ make
    gcc -g -o cello cello.c
    
    $ sudo make install
    install -m 0755 cello /usr/bin/cello

    Como resultado, cello está agora localizado no diretório que está listado na variável $PATH.

  3. Executar cello a partir de qualquer diretório sem especificar seu caminho completo:

    $ cd ~
    
    $ cello
    Hello World
Red Hat logoGithubRedditYoutubeTwitter

Aprender

Experimente, compre e venda

Comunidades

Sobre a documentação da Red Hat

Ajudamos os usuários da Red Hat a inovar e atingir seus objetivos com nossos produtos e serviços com conteúdo em que podem confiar.

Tornando o open source mais inclusivo

A Red Hat está comprometida em substituir a linguagem problemática em nosso código, documentação e propriedades da web. Para mais detalhes veja oBlog da Red Hat.

Sobre a Red Hat

Fornecemos soluções robustas que facilitam o trabalho das empresas em plataformas e ambientes, desde o data center principal até a borda da rede.

© 2024 Red Hat, Inc.