Dzień dobry, W załączniku znajdziesz krótki, prosty Makefile. Nie ma fora, ale robi dokładnie to o co Tobie chodzi, tylko po "gnu make'owemu".
Zmienne środowiskowe przekazuje się bardzo prosto. Wystarczy w jednej linii wywołać: ZMIENNA=wartość make Makefile zawiera cel 'test', do którego można przekazać zmienną FOO. Przykłady poniżej: dirdival@pld:/tmp/ala$ ls ala1.c ala2.c ala3.c Makefile dirdival@pld:/tmp/ala$ make test to sa pliki: ala1.c ala3.c ala2.c to sa programy: ala1 ala3 ala2 to jest BOO: dirdival@pld:/tmp/ala$ BOO=FOO make test to sa pliki: ala1.c ala3.c ala2.c to sa programy: ala1 ala3 ala2 to jest BOO: FOO dirdival@pld:/tmp/ala$ make all gcc -o ala1 ala1.c gcc -o ala3 ala3.c gcc -o ala2 ala2.c dirdival@pld:/tmp/ala$ make all make: Nie ma nic do zrobienia w 'all'. dirdival@pld:/tmp/ala$ make clean rm -f ala1 ala3 ala2 dirdival@pld:/tmp/ala$ make ala1 gcc -o ala1 ala1.c Krzysztof Goliński W dniu 12 września 2014 08:48 użytkownik Grzegorz Sójka <[email protected]> napisał: > Witam serdecznie, > > Pisze Makefile i mam pytanko. Mam z 10 regułek typu: > > Ala1: Ala1.c ma kota w paski > $(CC) Ala1.c ma kota w paski -o Ala1 > > i tak dale do jakieś: > > Ala10: Ala10.c ma kota w paski > $(CC) Ala10.c ma kota w paski -o Ala10 > > Pytanie czy da się to jakoś "skompresować"? Da się zrobić coś w stylu: > > for LASKA in Ala1 Ala2 Ala3 .... Ala10 > { > $(LASKA): $(LASKA).c ma kota w paski > $(CC) $(LASKA).c ma kota w paski -o $(LASKA) > } > > Przy okazji: jak z Makefile przekazać do komendy zmienną środowiska?? > > -- > Pozdrawiam > Grzesiek > > Wysłane z kompa wolnego od wirusów Billa Gatesa. > _______________________________________________ > pld-users-pl mailing list > [email protected] > http://lists.pld-linux.org/mailman/listinfo/pld-users-pl >
Makefile
Description: Binary data
_______________________________________________ pld-users-pl mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-users-pl
