Makefile

Krzysztof Goliński krzysztof.golinski w gmail.com
Pią, 12 Wrz 2014, 22:30:18 CEST


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 w pld:/tmp/ala$ ls
ala1.c  ala2.c  ala3.c  Makefile
dirdival w pld:/tmp/ala$ make test
to sa pliki: ala1.c ala3.c ala2.c
to sa programy: ala1 ala3 ala2
to jest BOO:
dirdival w 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 w pld:/tmp/ala$ make all
gcc -o ala1 ala1.c
gcc -o ala3 ala3.c
gcc -o ala2 ala2.c
dirdival w pld:/tmp/ala$ make all
make: Nie ma nic do zrobienia w 'all'.
dirdival w pld:/tmp/ala$ make clean
rm -f ala1 ala3 ala2
dirdival w 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 <pld w sojka.co>
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
> pld-users-pl w lists.pld-linux.org
> http://lists.pld-linux.org/mailman/listinfo/pld-users-pl
>
-------------- następna część ---------
A non-text attachment was scrubbed...
Name: Makefile
Type: application/octet-stream
Size: 249 bytes
Desc: nie znany
URL: </mailman/pipermail/pld-users-pl/attachments/20140912/38655449/attachment.obj>


Więcej informacji o liście pld-users-pl