Eu uso meu script personalizado cccpara compilar .carquivos como este:
g++ -std=c++11 -Wall -pedantic -Wno-long-long -Wshadow -g -o "${1%%.c}.out" -lm "$1"
Basicamente eu uso ccc main.ce depois main.outsai. Agora eu também quero compilar .cpparquivos usando o mesmo script. Até agora eu tenho isso:
#!/bin/bash
if [ "$1" == "*.cpp" ]; then
g++ -std=c++11 -Wall -pedantic -Wno-long-long -Wshadow -g -o "${1%%.cpp}.out" -lm "$1"
echo "g++ -std=c++11 -Wall -pedantic -Wno-long-long -Wshadow -g -o ${1%%}.out -lm $1"
elif [ "$1" == "*.c" ]; then
g++ -std=c++11 -Wall -pedantic -Wno-long-long -Wshadow -g -o "${1%%.c}.out" -lm "$1"
echo "g++ -std=c++11 -Wall -pedantic -Wno-long-long -Wshadow -g -o ${1%%}.out -lm $1"
else
echo "Error - file does not exist or wrong type"
fi
No entanto, agora ambos .cppe .carquivos não conseguem compilar e meu errmsg é ecoado. Qual foi o meu erro?
makemuito, mas eu não teria que criar um makefile para cada projeto então?
makeele foi a ferramenta de construção escolhida por mais de 40 anos para os desenvolvedores de C / C ++. A página da Wikipedia oferece uma boa idéia de como isso funciona
makeisso ...