Qualcuno può dare una chiara spiegazione di come funziona effettivamente l'assegnazione delle variabili nei Makefile. Qual è la differenza tra : VARIABLE = value VARIABLE ?= value VARIABLE := value VARIABLE += value Ho letto la sezione del manuale di GNU Make, ma per me non ha ancora senso.
Ad esempio, ho qualcosa di simile nel mio makefile: all: cd some_directory Ma quando ho scritto makeho visto solo 'cd some_directory', come nel echocomando.
Uso CMake con GNU Make e vorrei vedere esattamente tutti i comandi (ad esempio come viene eseguito il compilatore, tutti i flag, ecc.). GNU make ha --debug, ma non sembra essere così utile ci sono altre opzioni? CMake fornisce flag aggiuntivi nel Makefile generato a scopo di debug?
Nel mio makefile, ho una variabile 'NDK_PROJECT_PATH', la mia domanda è come posso stamparlo quando viene compilato? Ho letto Make echo file visualizzando la stringa "$ PATH" e ho provato: @echo $(NDK_PROJECT_PATH) @echo $(value NDK_PROJECT_PATH) Entrambi mi danno "build-local.mk:102: *** missing separator. Stop." Qualcuno sa perché non funziona per me?
Nel mio GNUmakefile, vorrei avere una regola che utilizza 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 sopra crea la directory temporanea nel momento in cui la regola viene analizzata . …
Ho diversi Makefile in directory specifiche dell'app come questa: /project1/apps/app_typeA/Makefile /project1/apps/app_typeB/Makefile /project1/apps/app_typeC/Makefile Ogni Makefile include un file .inc in questo percorso di un livello superiore: /project1/apps/app_rules.inc All'interno di app_rules.inc sto impostando la destinazione di dove voglio che i binari vengano posizionati quando vengono creati. Voglio che tutti i binari siano …
Ho usato un po 'di rake (un programma Ruby make) e ha un'opzione per ottenere un elenco di tutti gli obiettivi disponibili, ad es. > rake --tasks rake db:charset # retrieve the charset for your data... rake db:collation # retrieve the collation for your da... rake db:create # Creates the …
Ho il seguente makefile per il mio progetto e vorrei configurarlo per build di rilascio e debug. Nel mio codice, ho un sacco di #ifdef DEBUGmacro a posto, quindi è semplicemente una questione di impostare questa macro e aggiungere i -g3 -gdwarf2flag ai compilatori. Come posso fare questo? $(CC) = …
Nel manuale di GNU Makefile, menziona questi prefissi. Se viene fornito .ONESHELL, solo la prima riga della ricetta verrà controllata per i caratteri prefisso speciali ('@', '-' e '+'). Cosa fanno questi prefissi e dove sono menzionati?
Sto cercando di capire la differenza tra 'gmake' e 'make'? Sulla mia scatola di Linux sono identici: % gmake --version GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS …
Sto seguendo le istruzioni di qualcuno di cui ho clonato il repository sulla mia macchina. Quello che voglio è semplice: essere in grado di utilizzare il makecomando come parte della configurazione dell'ambiente del codice. Ma sto usando Windows e ho cercato online solo per trovare un file make.exe da scaricare, …
Sto ottenendo risultati inaspettati chiamando un makefile da un altro. Ho due makefile, uno chiamato /path/to/project/makefilee uno chiamato /path/to/project/gtest-1.4.0/make/Makefile. Sto tentando di far chiamare il primo al secondo. In / path / to / project / makefile, ho dev: $(OBJ_FILES) $(CPPC) $(LIBS) $(FLAGS_DEV) $(OBJ_FILES) -o $(BIN_DIR)/$(PROJECT) $(MAKE) -f ./gtest-1.4.0/make/Makefile clean: …
Come posso verificare se un programma è richiamabile da un Makefile? (Cioè, il programma dovrebbe esistere nel percorso o altrimenti essere richiamabile.) Potrebbe essere usato per verificare quale compilatore è installato, ad esempio. Ad esempio, qualcosa di simile a questa domanda , ma senza presumere che la shell sottostante sia …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.