per compilare driver e moduli del kernel è necessario il codice sorgente della versione in uso del kernel Linux (patchato per Puppy), ma per il 99% dei programmi, basta il solo modulo
devxogni programma ha opzioni di compilazioni differenti
- alcuni utilizzano
make (incluso nel modulo devx)
- altri
cmake (
http://www.cmake.org/)
- altri ancora
qmake (richiede le librerie di sviluppo QT compilate per Puppy)
ognuno può richiedere differenti impostazioni di librerie per il linking (LDFLAGS), per la compilazione del codice (CFLAGS, CXXFLAGS)
solitamente, se tutte le dipendenze sono soddisfatte e il programma non richiede particolari impostazioni, la procedura è la seguente:
cd cartellaconisorgentidelprogramma
./configure --prefix=/usr
make
new2dir make installcombinati insieme così:
./configure --prefix=/usr && make && new2dir make install&&, nella logica booleana designa l'operatore
ANDinterposto tra due programmi, esegue il secondo SOLO se il primo termina l'esecuzione con successo (exit 0)
se il comando antecedente non termina con successo (exit 1), il secondo non viene eseguito, permettendo di esaminarne l'output a terminale (standard output) e indagare sui problemi
new2dir è un comando di Puppy Linux che crea un albero completo di cartelle e sottocartelle con il nome del programma e li popola opportunamente per poi poter creare con
dir2pet l'archivio tar compresso con gzip (.tar.gz) con l'estensione cambiata in
.pet make install copia i file risultanti nel sistema
NOTA: se non si utilizza un ambiente dedicato esclusivamente alla compilazione, (male), ma il sistema in uso serve all'utilizzo quotidiana, è consigliabile sostituire:
new2dir make install con
make install DESTDIR=/percorsochevuoi/nomecartellatutte le informazioni su
http://gcc.gnu.org/onlinedocs/