IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Caml Discussion :

Makefile en Ocaml


Sujet :

Caml

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 13
    Points : 9
    Points
    9
    Par défaut Makefile en Ocaml
    Bonjour,

    je dois faire un makefile pour mon projet O'Caml, mais il ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    .SUFFIXES: .ml .mli .cmo .cmi .cmx
     
    -include .ocamldsort
     
    $(OBJ):  "C:\Program Files\Objective Caml\lib\graphics.cma" "C:\Program Files\Objective Caml\lib\xml-light.cma" trad_xml.cmo dimensions.cmo coordonnees.cmo fenetre.cmo ouvrir_carte.cmo
     
    main: ouvrir_carte.cmo
    	ocamlc -o rendererOSM $(OBJ)
     
    .ml.cmo:
    	ocamlc -c $<
     
    .mli.cmi:
    	ocamlc $<
     
    -include .depend
     
    depend:
    	ocamldep *.mli *.ml > .depend
    	echo -n "OBJECTS=" > .ocamldsort
    	ocamldsort -byte *.ml >> .ocamldsort
     
    clean:
    	-rm *.cmo *.cmi main
    Il me dit qu'il ne trouve pas le module Fenetre dans ouvrir_carte...
    Il faut que je compile tout moi-même pour que le make marche, mais il ne sert plus à grand chose du coup...

    Quelqu'un voit-il le problème dans mon code?

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    832
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 832
    Points : 1 104
    Points
    1 104
    Par défaut
    Dans la liste des dépendances $(OBJ), tu fournis bien fenetre.cmo avant modules_cartes.cmo. Par contre main dépend seulemnet de ouvrir_carte.cmo, qui sera donc demandé avant que sa dépendance fenetre.cmo ne soit compilée (la règle .ml.cmo ne prend pas en compte les dépendances).

    Pour faire de bons makefile tu peux utiliser l'outil `ocamldep`. Personellement j'utilise plutôt ocamlbuild directement (ici `ocamlbuild -lib graphics ouvrir_carte.byte ` devrait suffire). Je ne sais pas à quel point il est fiable sous Windows, à l'époque j'écrivais des scripts batch pour la compilation.

  3. #3
    Membre éprouvé
    Avatar de Cacophrene
    Homme Profil pro
    Biologiste
    Inscrit en
    Janvier 2009
    Messages
    535
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Biologiste

    Informations forums :
    Inscription : Janvier 2009
    Messages : 535
    Points : 1 125
    Points
    1 125
    Par défaut
    Bonsoir,

    Je plussoie gasche, si tu as une version d'OCaml assez récente pour utiliser ocamlbuild, et que ton programme ne comporte pas trop de siouxeries (binding vers du C, ces choses-là), ocamlbuild est quasi immédiat à utiliser, presque aucun investissement à fournir. Dans le cas contraire, il faut lire un peu la doc. En tout cas, ocamlbuild est construit avec les caractéristiques d'OCaml en tête, du coup c'est souvent plus pratique, et c'est normal !

    Autre piste (mais je n'utilise pas ces outils, je lance un peu l'idée à tout hasard) : pourquoi pas OCamlMakefile ou OMake ?

    Cordialement,
    Cacophrène

Discussions similaires

  1. Pb Makefile Ocaml
    Par Jonnyd dans le forum Caml
    Réponses: 2
    Dernier message: 11/04/2011, 16h58
  2. [OCaml Makefile] Problème avec les modules
    Par topgun1223 dans le forum Caml
    Réponses: 4
    Dernier message: 30/11/2009, 23h08
  3. [OCaml] Besoin d'aide pour un makefile
    Par GyZmoO dans le forum Caml
    Réponses: 4
    Dernier message: 23/01/2007, 21h38
  4. Makefile
    Par Wisefool dans le forum Systèmes de compilation
    Réponses: 2
    Dernier message: 03/11/2003, 17h41
  5. Compilation avec un Makefile
    Par Mau dans le forum GTK+ avec C & C++
    Réponses: 3
    Dernier message: 28/02/2003, 11h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo