make a funkce v impl. pravidle

Míla Kuchta mila.kuchta na atlas.cz
Neděle Červen 24 15:01:33 CEST 2001


Zdravim,

Pavel Kankovsky <peak na argo.troja.mff.cuni.cz> wrote:
> 
>> %.tex : %.TXT
>>       cat $< > $(shell echo $@|tr '[:upper:]' '[:lower:]')
>> 
>> S tim, ze by se to muselo volat jako "$make A.tex", ale produkovalo by
>> to a.tex.
> 
> To tam muze byt stejne dobre
> 
> all:
>        prikaz $(shell echo $F....) >$F
> 
> a volalo by se to make F=A.tex (jinak receno, bylo by to z hlediska
> vyuziti v make stejne zbytecne, jako to, co navrhujete Vy)

IMHO to neni pravda. Ja jsem na rozdil od Vas vytvoril implicitni
pravidlo, ktere se s jistymi omezenimi (ano je celkem blby, ze se lisi
target a vysledny soubor) da pouzit, zatimco Vy pouze PHONY target,
ktery, jak uz jste poznamenal, je z hlediska make nepouzitelny. Zalezi
na tom, jaky s tim mate zamer.

> Tohle AFAIK nelze v make ani GNU make primo udelat. Tedy v GNU make by
> slo provest nejaky trik s tim, GNU make se nejdriv snazi aktualizovat
> Makefile a soubory vlozene pres include, takze touto cestou by se *mozna*
> mohlo dosahnout toho, ze budou poloautomaticky vygenerovana pozadovana
> pravidla i bez pouziti implicitniho pravidla.

To, ze to nejde standardni cestou (tedy pres pravidla jako suffix,
pattern, static pattern, multiple target), a nejde dost dobre
pouzit funkce v target a prerequisite je asi kazdemu, kdo se tim
jenom chvili zabyval jasne, ja jsem ale, na rozdil od Vas, alespon
nastinil nejakou (i kdyz ne urcite idealni) moznost.

S pozdravem

Mila Kuchta

--
Killing your self-importance you are getting closer to regeneration.


Další informace o konferenci Linux