make é a ferramenta de que você precisa. Você só precisa digitar make com o Makefile no lugar e seu arquivo será criado.
Aqui está um Makefile simples que geraria o arquivo newFileName de acordo com a linha que você postou na pergunta:
MYFLAGS=$(shell pkg-config --cflags --libs opencv)
newFileName: file.cpp
$(CXX) $< -o $@ $(MYFLAGS)
Se você colocar isso em seu diretório de código, simplesmente digite make e seu código será compilado.
Breve explicação:
-
makeprocurará o Makefile no diretório; - Como o arquivo está lá,
makeexecutará a primeira regra: newFileName e a executará; - Esta sintaxe de regra é a seguinte:
-
newFileName:define o nome da regra, ou destino, preferencialmente o nome do arquivo que a regra vai rodar; - Tudo após o
:são pré-requisitos, ou seja, arquivos que serão necessários para a execução da receita desta regra ou regras que devem ser executadas antes; - A (s) linha (s) abaixo é a receita (observe os 4 espaços no início da linha), eles dizem como fazer o arquivo
newFileName.
-
-
$(CXX)será expandido para o compilador C ++ padrão eMYFLAGSserá expandido para a saída depkg-config --cflags --libs opencv.
Bônus: o Make executará a receita de uma regra somente se os pré-requisitos tiverem sido alterados após o carimbo de data e hora da criação do destino, portanto, se você digitar make e já tiver um date newFileName, você não perderá tempo recompilando algo que você já possui. Isso é especialmente bom quando você tem muitos arquivos.