/makefileCpp

Fully commented and functional Makefile for C++ with a built in example

Primary LanguageC++

Um exemplo funcional e comentado de Makefile em C++

IMPORTANTE: NÃO ESQUECER DE EDITAR OS PATHS DENTRO DO MAKEFILE PARA QUE OS NOMES DE APLICAÇÕES, OBJETOS E TESTES, CORRESPONDAM AO ESPERADO E NÃO A ESTE EXEMPLO

Como Utilizar

  1. Dê um pull ou faça download do projeto.
  2. Extraia o Makefile na pasta do projeto o qual deseja utiliza-lo, após a criação das pastas necessárias listadas abaixo.
    • ./Projeto
      • src (Source Code).
      • include (Headers).
      • application (Functions And General Applications).
      • build (Executable).
      • bin (Objects).
      • test (main_tests.cpp)
  3. Abra o terminal, entre na pasta relacionada ao projeto onde o Makefile foi extraído.
  4. Mova os arquivos Makefile e a pasta "gtest" para dentro da pasta principal do seu projeto. Considere $ como root
  • /Desktop/makefileCpp$ cp -r gtest Projeto
  • /Desktop/makefileCpp$ cp Makefile Projeto
  1. Abra o Makefile e edite o nome da aplicação (APPNAME), da lib interna que será gerada (LIBNAME) e do (TESTNAME) para o nome do seu arquivo ".cpp" o qual contem todos os testes necessários que se encontra na pasta "Projeto/test", observe bem se dentro dos seus ".cpp" divididos na pasta de "application" e "src" o include corresponde a pasta correta.
  2. Utilize o comando "make" para compilar a aplicação após a criação dos seus arquivos principais tais quais includes, src e app e edição dos paths dentro do Makefile.

Commands

  • make -> Cria os ".o" na pasta bin e builda a aplicação na pasta build.
  • make mrproper -> Deleta todos os arquivos da pasta Bin/Build. (Utilizável ao desejar recompilar a aplicação e ou Objetos)
  • make clean -> Deleta todos os arquivos da pasta Bin/Build. o teste executável e os objetos/libs da pasta de projeto principal
  • make testLib -> Cria as libs e os ".o" necessários para compilação do run_tests.
  • make lib -> Cria a Lib interna do projeto.
  • make test -> Cria um teste único executável que recebe todos os testes da aplicação