Articles of makefile

Regra do GNU Makefile gerando alguns destinos a partir de um único arquivo de origem

Eu estou tentando fazer o seguinte. Existe um programa, chame-o de foo-bin , que recebe um único arquivo de input e gera dois arquivos de saída. Uma regra idiota do Makefile para isso seria: file-a.out file-b.out: input.in foo-bin input.in file-a.out file-b.out Entretanto, isso não diz ao make que os dois alvos serão gerados simultaneamente. Isso […]

O que os símbolos makefile $ @ e $ <significam?

CC=g++ CFLAGS=-c -Wall LDFLAGS= SOURCES=main.cpp hello.cpp factorial.cpp OBJECTS=$(SOURCES:.cpp=.o) EXECUTABLE=hello all: $(SOURCES) $(EXECUTABLE) $(EXECUTABLE): $(OBJECTS) $(CC) $(LDFLAGS) $(OBJECTS) -o $@ .cpp.o: $(CC) $(CFLAGS) $< -o $@ O que os $@ e $< fazem exatamente?

C ++ Qt – Como adicionar “-std = c ++ 11” ao makefile que é gerado pelo qmake?

Estou desenvolvendo um programa no Qt. Seu makefile é gerado automaticamente a partir do arquivo .pro. Eu preciso usar algum código que precisa do sinalizador -std = c ++ 11 a ser configurado para g ++. Onde no .pro devo adicionar esse sinalizador? (mudar apenas o Makefile não funcionará, uma vez que ele é sobrescrito […]

Escapando no makefile

Eu estou tentando fazer isso em um makefile e ele falha horrivelmente: M_ARCH := $(shell g++ -dumpmachine | awk ‘{split($1,a,”-“);print a[1]}’) Você sabe por quê? Eu acho que tem a ver com escaping, mas o que e onde?

Como faço um makefile simples para o gcc no Linux?

Eu tenho três arquivos: program.c , program.h e headers.h . program.c inclui program.h e headers.h . Eu preciso compilar isso no Linux usando o compilador gcc . Não sei como fazer isso. O Netbeans criou um para mim, mas está vazio.

Wildcards recursivos no GNU make?

Tem sido um tempo desde que eu usei make , então make comigo … Eu tenho um diretório, flac , contendo arquivos .FLAC. Eu tenho um diretório correspondente, mp3 contendo arquivos MP3. Se um arquivo FLAC for mais recente que o arquivo MP3 correspondente (ou o arquivo MP3 correspondente não existir), eu quero executar vários […]

Como colocar arquivos object em subdiretório separado

Estou tendo problemas para tentar usar make para colocar arquivos de object em um subdiretório separado, provavelmente uma técnica muito básica. Eu tentei usar as informações nesta página: http://www.gnu.org/software/hello/manual/make/Prerequisite-Types.html#Prerequisite-Types Eu recebo a seguinte saída do make: make: *** Nenhuma regra para tornar o ku.h’, needed by alvo ku.h’, needed by obj / kumain.o’. Pare. No […]

Como gerar um Makefile com origem em subdiretórios usando apenas um makefile

Eu tenho fonte em um monte de subdiretórios como: src/widgets/apple.cpp src/widgets/knob.cpp src/tests/blend.cpp src/ui/flash.cpp Na raiz do projeto, quero gerar um único Makefile usando uma regra como: %.o: %.cpp $(CC) -c $< build/test.exe: build/widgets/apple.o build/widgets/knob.o build/tests/blend.o src/ui/flash.o $(LD) build/widgets/apple.o …. build/ui/flash.o -o build/test.exe Quando eu tento isso, não há uma regra para build / widgets / […]

Qual é o objective de .PHONY em um makefile?

O que significa o .PHONY em um Makefile? Eu passei por isso , mas é muito complicado. Alguém pode me explicar em termos simples?

makefile: 4: *** faltando separador. Pare

Este é meu makefile: all:ll ll:ll.c gcc -c -Wall -Werror -02 cc ll.c -o ll $@ $< clean : \rm -fr ll Quando tento make clean ou make make , recebo este erro: :makefile:4: *** missing separator. Stop. Como posso consertar isso?