Rad s Python okvirom waf
Note
Materijali su složeni prema Waf Booku. Osim tog izvora, za više detalja proučite Waf API dokumentaciju.
Sustavi za automatizaciju izgradnje softvera (engl. build automation system) su aplikacije koje automatiziraju ili skriptiraju aktivnosti u procesu izgradnje softvera.
Primjeri takvih alata su Autotools, CMake, qmake (dio Qt-a), SCons, Waf i drugi.
Autotools rade tako da generiraju datoteku ./configure
, a ponekad i datoteku Makefile
. Korisnik ih najčešće pokreće putem prethodno napravljenih skripti za kompajiranje programa, a za samu izgradnju koristi make
.
CMake zamjenuje ./configure
, a za izgradnju softvera koristi make
, ninja
ili srodan alat.
Waf je okvir za konfiguraciju, prevođenje i instalaciju aplikacija. Za razliku od Autotools-a i CMake-a, Waf ne koristi make
.
Da bi iskoristili Waf na svojem projektu, postupak je vrlo jednostavan:
$ cd myproject
$ curl -o waf https://waf.io/waf-2.0.23
$ chmod +x waf
-
u istom direktoriju treba napravit
wscript
sa sadržajemdef configure(conf): print("configure!") def build(bld): print("build!")
čime smo omogućili pokretaje naredbi:
$ ./waf configure
$ ./waf build
Todo
Ovdje nedostaje zadatak.
Faze izgradnje softvera su:
configure
build
install
uninstall
dist
-- stvara datoteku s izvornim kodomclean
-- čisti datoteke stvorene ubuild
fazi
Author: Vedran Miletić