Lägga växlar till make i makefile?

Permalänk
Hedersmedlem

Lägga växlar till make i makefile?

Jag har gjort en Makefile enligt följande:

.SUFFIXES: $(SUFFIXES) .cpp OBJS = main.o BaseClass.o CFile.o String.o grafik.o PROG = demo all: $(PROG) $(PROG): $(OBJS) g++ `sdl-config --libs` -o $(PROG) $(OBJS) .cpp.o: g++ `sdl-config --cflags` -c -O3 -march=athlon-xp $*.cpp clean: rm $(OBJS) $(PROG)

För att att få make att forka så ska man ju skicka -j <antalprocesser> till make.

T ex:

$ make -j4

Men kan man lägga inte -j4 i Makefile på något sätt i stället? Inte så viktigt egentligen men det vore smidigt. Och jag är nyfiken om det går att lägga växlar till make i Makefile i allmänhet.

Visa signatur

motor.holy.se - Projekt "Tüsk MiniJänk med Engelsk V8"
"Bingolotto, till och med Loket har trötnat" - Loesje
"Och jag som trodde att världens häftigaste moderator inte existerade!" - Robbster

Permalänk

Re: Lägga växlar till make i makefile?

Citat:

Ursprungligen inskrivet av Qaztaz
Men kan man lägga inte -j4 i Makefile på något sätt i stället? Inte så viktigt egentligen men det vore smidigt. Och jag är nyfiken om det går att lägga växlar till make i Makefile i allmänhet.

Ja, genom att sätta macrot MAKEFLAGS, alltså t.ex.

MAKEFLAGS=-j4

MAKEFLAGS sätts automatiskt av make och används vanligtvis för att propagera optioner till rekursiva invokeringar av make, men du kan alltså också sätta MAKEFILES i makefilen för att specificera extra optioner som ska användas för makefilen i fråga.

Permalänk
Hedersmedlem

Tack så mycket. Precis vad jag var ute efter :).

Visa signatur

motor.holy.se - Projekt "Tüsk MiniJänk med Engelsk V8"
"Bingolotto, till och med Loket har trötnat" - Loesje
"Och jag som trodde att världens häftigaste moderator inte existerade!" - Robbster