PDA

Visualizza la versione completa : Problemi con Makefile


mr_simo
15-05-2014, 14:30
Ciao a tutti :ciauz: !! Sto cercando di compilare un progettino che ho fatto, ma non riesco a capire l'uso di makefile.
Il programma una risoluzione del seguente esercizio di comunicazione tra processi in UNIX:

Si trovi una soluzione al problema del banditore utilizzando i meccanismi di IPC System V.

Il banditore comunica che vuole vendere un oggetto ad N partecipanti.

Una volta ricevuta la comunicazione, ogni partecipante sceglie una cifra, una volta scelta la comunica al banditore.

Il banditore attende le offerte, una volta ricevute valuta quella pi alta.

Infine comunica a tutti i partecipanti il pid e l'offerta del vincitore.

NB: La comunicazione tra banditore e partecipanti deve avvenire utilizzando o delle code di
messaggi o delle memorie condivise. Tuttavia la comunicazione con almeno uno dei partecipanti
deve avvenire solo tramite code di messaggi e la comunicazione con almeno un altro dei
partecipanti deve avvenire solo tramite memoria condivisa.

L'applicativo composto dai seguenti file:
- functions_lib.c e functions_lib.h
- init.c
- partecipants.c
- bandit.c
- play.c // avvia i file precedenti

La mia idea quella di far partire il programma nel seguente modo:

1. compilo il file functions_lib.c // che rappresenta la libreria standard con le funzioni
2. compilo init.c ( che inizializza le risorse di comunicazione tra processi) e lo collego a
functions_lib.h
3. compilo i file partecipants.c e bandit.c
4. compilo play.c, questo sar il comando principale, che avvier l'esecuzione del programma

Ora, come faccio a concretizzare questa idea con Makefile?? Ed buona come idea??

paolino_delta_t
16-05-2014, 12:42
La logica dei makefile la seguente



targetList: dependencyList
[TAB] command
[TAB] command
[TAB] command
...


targetList la lista degli oggetti che si vuole creare
dependecyList sono gli oggetti necessari per creare targetList
[TAB] il carattere tabulatore
command un comando utile alla creazione di targetList, si possono specificare pi comandi per ogni targetList

se ad esempio vuoi compilare main.c, scriverai

main.o: main.c libreria.c ecc...

non necessario specificare alcun comando, perch make sa che i file .c si compilano con cc

mr_simo
18-05-2014, 18:44
ok grazie!! ho eseguito il procedimento ed andato bene!! :) ciao!!

Loading