È necessario precedere le righe che iniziano con gcc
e rm
con una scheda difficile. I comandi nelle regole di creazione sono necessari per iniziare con una scheda (a meno che non seguano un punto e virgola sulla stessa riga). Il risultato dovrebbe essere simile a questo:
PROG = semsearch
all: $(PROG)
%: %.c
gcc -o [email protected] $< -lpthread
clean:
rm $(PROG)
Nota che alcuni editori possono essere configurati per inserire una sequenza di spazi invece di una scheda duro. Se ci sono spazi all'inizio di queste righe vedrai anche l'errore "separatore mancante". Se si verificano problemi nell'inserimento di schede rigide, utilizzare il punto e virgola:
PROG = semsearch
all: $(PROG)
%: %.c ; gcc -o [email protected] $< -lpthread
clean: ; rm $(PROG)
Il rientro non è facoltativo nei Makefile. È quello che hai esattamente come lo hai postato o gli spazi bianchi sono stati cancellati? – Mat
L'ho preso come ho scritto. – user1827257
Questa domanda deve essere riaperta. La risposta qui mostra anche come scrivere un Makefile senza tabulazioni, aggirando completamente il problema. – Jens