Como alterar as regras incorporadas

0

Gostaria de saber se existe uma maneira de alterar as regras aplicadas automaticamente pelo make quando não há makefile. Para dar um exemplo, se você escrever make foo em um diretório contendo um arquivo chamado foo.cpp , ele executa %código% mesmo se não houver g++ foo.cpp -o foo no diretório.

Eu gostaria de mudá-las para atender às minhas necessidades, dizer algo como %código% mas também para adicionar novas regras para outras extensões, como .c, .java ou .tex

Eu sei como definir as novas regras, mas não sei onde especificá-las além de criar um makefile em cada diretório. Eu suponho que há algum arquivo que contém todas essas regras embutidas, mas eu não consegui encontrá-lo ou como sobrecarregá-lo com um dos meus.

Estou trabalhando principalmente com o Mingw e o cygwin.

    
por Esteban Crespi 03.10.2017 / 14:45

1 resposta

1

De acordo com o manual , a regra é:

n.o is made automatically from n.cc, n.cpp, or n.C with a recipe of the form ‘$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c’. We encourage you to use the suffix ‘.cc’ for C++ source files instead of ‘.C’.

Isso deixa com o ajuste de suas variáveis de ambiente (por exemplo, em ~/.bashrc ) ou apenas a criação de um Makefile que substitui essa regra.

Use make -p em um diretório sem Makefile para aprender todos os padrões e regras internas.

    
por 03.10.2017 / 14:52