Skip to content

Latest commit

 

History

History
35 lines (24 loc) · 1.57 KB

File metadata and controls

35 lines (24 loc) · 1.57 KB

Makefiles do projeto

English | Português

Os Makefiles deste repositório seguem um padrão modular: cada estrutura ou algoritmo possui seu próprio Makefile, e o Makefile da raiz orquestra make, make test, make sanitize, make coverage, make benchmark e make clean entre os módulos.

Referências externas

Estes Makefiles-base servem como referência histórica e didática para a organização dos módulos:

  • Makefile-base para C++: compila fontes em src/*.cpp, gera objetos em build/objects, cria o executável em build/app e define alvos como debug, release, clean e run.
  • Makefile-base para C: usa a mesma organização de build/, objects, include/, src/ e alvos básicos, mas voltada para fontes src/*.c.

Padrão usado aqui

Os módulos atuais evoluem esse modelo base com:

  • TEST_SRC e test_runner para testes automatizados;
  • separação entre objetos de biblioteca e main.c;
  • alvos sanitize, coverage e benchmark nos módulos aplicáveis;
  • aliases ASCII para módulos antigos com acentos ou espaços;
  • flags rigorosas: -pedantic-errors -Wall -Wextra -Werror.

Para novos módulos, prefira nomes ASCII sem espaços, escolha a categoria conceitual adequada e siga a estrutura:

Categoria/
└── Modulo/
    ├── include/
    ├── src/
    ├── tests/
    └── Makefile

Voltar para o índice da documentação.