(toiminnot)

hwechtla-tl: Nettipäiväkirja 14.03.2015

Kierre.png

Mikä on WikiWiki?
nettipäiväkirja
koko wiki (etsi)
viime muutokset


Makesta vielä yksi asia. Siitä puuttuu ominaisuus, jota joskus ihan oikeasti toivon: olisi tosi kätevää, jos tietyn kohteen (target) suhteen voisi määritellä, miten kohteen "tuoreus" (eli aikaleima) lasketaan, sen sijaan että make olettaa sen olevan tiedosto ja käyttää stat()ia.

Tällä pystyisi esim. automatisoimaan tiedostojen lataukset netistä tekemällä HEAD-requesteja ja lataamalla tiedoston, jos siitä on uusi versio. Ja kohdetiedosto, jonka nimi vaihtelee, voisi toteuttaa virtuaalikohteella, jonka tuoreus lasketaan todellisesta tiedostosta (mikä sen nimi onkin). Tällä hetkellä virtuaalikohteella pitää olla oma pseudotiedostonsa (esim. mytarget-stamp), jota pitää touch:ata ihan vain maken metadatan ylläpitämiseksi.

Mutta oikeasti, make on parhaimmillaan silloin, kun se pidetään yksinkertaisena. Se ei ole hyvä maagiseen päättelyyn, mitkä tiedostot sisällytetään missäkin arkkitehtuurissa. Se ei ole hyvä dependenssitietojen generoimiseen. Se ei ole hyvä luomaan sääntöjä dynaamisesti tai mitään sellaista.

Se on hyvä siinä, mihin se on luotu: monivaiheisen tiedostontuotantoprosessin dokumentointiin ja automatisointiin. Eli tähän:

mitä_haluan_tulokseksi: mitä_siihen_tarvitaan
        miten_se_saadaan_aikaan

Sitä ei pidä käyttää, kuin se olisi ohjelmointikieli. Sellaiseen kannattaa käyttää ohjelmointikieliä, ei makea. Jos säännöissä on toistoa, muuttujia ja pattern-sääntöjä voi käyttää toiston poistamiseen, muttei oikeastaan mitään sen ihmeellisempää.


kommentoi (viimeksi muutettu 15.03.2015 14:55)