Eu uso meu script personalizado ccc
para compilar .c
arquivos como este:
g++ -std=c++11 -Wall -pedantic -Wno-long-long -Wshadow -g -o "${1%%.c}.out" -lm "$1"
Basicamente eu uso ccc main.c
e depois main.out
sai. Agora eu também quero compilar .cpp
arquivos 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 .cpp
e .c
arquivos não conseguem compilar e meu errmsg é ecoado. Qual foi o meu erro?
make
muito, mas eu não teria que criar um makefile para cada projeto então?
make
ele 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
make
isso ...