Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C] Makefile: definire correttamente path

    Ciao a tutti,

    credo che il mio problema sia più difficile da spiegare che da affrontare, comunque, la situazione è questa:

    ho sviluppato diverse funzioni in C (poniamo FUN_A, FUN_B,..., FUN_X), ognuna in un file diverso (FILE_A, FILE_B, ..., FILE_X), ed ho creato un header file con i prototipi di queste funzioni. Ho quindi inserito ognuno dei file creati in una diversa cartella (poniamo DIR_A, DIR_B, ..., DIR_X) insieme con una copia del file header e con un file .c contenente un main che richiami esclusivamente la funzione in quella cartella. Per ogni cartella ho creato un makefile che compila correttamente il programma in essa.

    Detto questo, la questione è: se spostassi tutti i file con le funzioni in un unica cartella insieme al file header (poniamo /home/mionome/SORGENTI) ed avessi in un'altra cartella (poniamo /home/mionome/TEST) un file .c con un main che richiama una di queste funzioni, come dovrei variare il makefile per avere ancora una corretta compilazione?

    Vi posto qui di seguito uno dei makefile funzionanti fin quando funzione, programma principale ed header sono tutti nella stessa cartella:
    Codice PHP:
    OBJ=   FUN_A.o TEST.o

    main
    : $(OBJ)
        
    g++ -o main $(OBJ)  -lm -lg2c 

    .c.o:
        
    cc --O2 $<

    .
    f.o:
        
    f77 --O2 $<

    clean:
        
    rm *.o main 
    In pratica, cosa devo aggiungere al makefile per dirgli dove sono tutte le risorse di cui ha bisogno?

    Spero di essermi fatto capire, grazie 100...

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    230
    non vorrei essere banale ma potresti provare a far prcedere i file incui specifichi le loro funzioni dal percorso assoluto o relativo

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [C] Makefile: definire correttamente path

    Originariamente inviato da FastMagister
    In pratica, cosa devo aggiungere al makefile per dirgli dove sono tutte le risorse di cui ha bisogno?
    Hai usato quelle che si chiamano "suffix-rules" (.c.o) che, tra l'altro, è il modo "obsoleto". Esistono anche le "pattern-rules", cioè %.o: %.c

    Comunque, a parte questo, puoi specificare delle dipendenze aggiuntive, es:

    output.o: ../foo/src.c ../foo.src.h

    e così via.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4

    Re: Re: [C] Makefile: definire correttamente path

    Originariamente inviato da andbin
    Hai usato quelle che si chiamano "suffix-rules" (.c.o) che, tra l'altro, è il modo "obsoleto". Esistono anche le "pattern-rules", cioè %.o: %.c

    Comunque, a parte questo, puoi specificare delle dipendenze aggiuntive, es:

    output.o: ../foo/src.c ../foo.src.h

    e così via.
    Credo che questa possa essere la strada giusta, ma sono totalmente a digiuno dell'argomento...

    Potreste indicarmi (magari usando i nomi di file e directory che ho usato io per spiegarvi il tutto...) come scrivere questo makefile?

    Tra l'altro, qualcuno mi diceva che si potrebbe inserire qualcosa del tipo $(PATH)/SORGENTI o $(PATH)/TEST ma come...??

    Help me, please...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.