Articles of makefile

Come si forza un makefile per ribuild un objective

Ho un makefile che costruisce e quindi chiama un altro makefile. Dal momento che questo makefile chiama più makefile che fa il lavoro non cambia davvero. Così continua a pensare che il progetto sia costruito e aggiornato. dnetdev11 ~ # make make: `release’ is up to date. Come posso forzare il makefile per ribuild il […]

Come supportare sia vcxproj a cmake su un progetto?

Sto sviluppando un progetto c ++ multipiattaforma. L’idea originale è di lavorare con msvc2010 e successivamente compilare per altri sistemi con l’aiuto di CMake e Hudson. Non sembra conveniente modificare manualmente i file CMake dopo le modifiche nelle impostazioni dello studio. Quindi, qual è il modo più semplice: scrivere parser per vcxproj e vcxproj.filters, o […]

file crti.o mancante

Sto costruendo un progetto usando una catena di strumenti GNU e tutto funziona fino a quando non riesco a collegarlo, dove il linker si lamenta che manca / non riesce a trovare crti.o Questo non è uno dei miei file object, sembra essere correlato a libc ma non riesco a capire perché avrebbe bisogno di […]

Errore di makefile di gcc: “Nessuna regola per rendere objective …”

Sto cercando di usare GCC (linux) con un makefile per compilare il mio progetto. Ottengo il seguente errore che non può sembrare decifrare in questo contesto: “No rule to make target ‘vertex.cpp’, needed by ‘vertex.o’. Stop.” Questo è il makefile: a.out: vertex.o edge.o elist.o main.o vlist.o enode.o vnode.o g++ vertex.o edge.o elist.o main.o vlist.o enode.o […]

Makefile (generazione automatica delle dipendenze)

solo per una rapida terminologia: #basic makefile rule target: dependencies recipe Il problema: voglio generare automaticamente le dipendenze. Ad esempio, spero di trasformare questo: #one of my targets file.o: file.cpp 1.h 2.h 3.h 4.h 5.h 6.h 7.h 8.h another.h lots.h evenMore.h $(COMPILE) In questo: #one of my targets file.o: $(GENERATE) $(COMPILE) e non sono troppo […]

Definisci make variable al tempo di esecuzione della regola

Nel mio GNUmakefile, vorrei avere una regola che usi una directory temporanea. Per esempio: out.tar: TMP := $(shell mktemp -d) echo hi $(TMP)/hi.txt tar -C $(TMP) cf $@ . rm -rf $(TMP) Come scritto, la regola precedente crea la directory temporanea nel momento in cui la regola viene analizzata . Ciò significa che, anche se […]

Cosa fanno @, – e + come prefissi alle linee di ricette in Make?

Nel manuale GNU Makefile, cita questi prefissi. Se viene fornito .ONESHELL, verrà controllata solo la prima riga della ricetta per i caratteri speciali di prefisso (‘@’, ‘-‘ e ‘+’). Cosa fanno questi prefissi e dove vengono menzionati?

Come posso fare in modo che Makefile ricostruisca automaticamente i file sorgente che includono un file di intestazione modificato? (In C / C ++)

Ho il seguente makefile che uso per creare un programma (un kernel, in realtà) su cui sto lavorando. È da zero e sto imparando il processo, quindi non è perfetto, ma penso che sia abbastanza potente a questo punto per il mio livello di esperienza nella scrittura di makefile. AS = nasm CC = gcc […]

Cmake non riesce a trovare la libreria usando “link_directories”

Io Ubuntu, sto imparando a cmake e make, e sto solo provando un semplice esempio. Ho due directory: src e build . In src , ho due file: main.cpp e CMakeLists.txt , che ha (solo) il testo seguente: add_executable(test main.cpp) link_directories(/usr/lib/x86_64-linux-gnu) target_link_libraries(test protobuf) In /usr/lib/x86_64-linux-gnu , c’è una libreria condivisa chiamata libprotobuf.so , a cui […]

Regola Makefile GNU che genera alcuni target da un singolo file sorgente

Sto tentando di fare quanto segue. C’è un programma, chiamalo foo-bin , che accetta un singolo file di input e genera due file di output. Una regola di Makefile stupida per questo sarebbe: file-a.out file-b.out: input.in foo-bin input.in file-a.out file-b.out Tuttavia, questo non dice in alcun modo che entrambi i bersagli saranno generati simultaneamente. Va […]