Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 21/04/2007, à 18:30

hunterkiller

[non resolu]dependance foireuse avec make

salut a tous
ca fait plus de trois heures que je n'arrive pas a gerer les dependance des .h dans mon makefile et lors de ma compile avec make
j'ai un configure ou il y a marque

#! /bin/sh

case `uname -s` in
    "Linux")
	echo "CC=/usr/bin/gcc" > Makefile.rules
	echo "CFLAGS=-Wall -W -g -pedantic `pkg-config --cflags gtk+-2.0` " >> Makefile.rules
        echo "LDFLAGS=`pkg-config --libs gtk+-2.0 `" >> Makefile.rules
        ;;

    "NetBSD")
        echo "CC=/usr/bin/gcc" > Makefile.rules
        echo "CFLAGS=-Wall -W -g -pedantic `pkg-config --cflags gtk+-2.0` " >> Makefile.rules
        echo "LDFLAGS=`pkg-config --libs gtk+-2.0`" >> Makefile.rules
        ;;
esac

gcc -MM *.c >> Makefile.dep

et dans mon makefile:

##
## Makefile for OCR in /home/hunterkiller/chris/projet/OCR/src/programme
##
## Made by hunterkiller
## Login   <hunterkiller@epita.fr>
##
## Started on  Sat Apr 21 14:44:10 2007 hunterkiller
## Last update Sat Apr 21 18:14:23 2007 hunterkiller
##

-include Makefile.rules
-include Makefile.dep

SRCS=copy_bmp.c main.c read_file.c show_data.c detect_rot.c rot_im.c
PROJECT=ocr
OBJS=$(SRCS:.c=.o)

all: $(PROJECT)

$(PROJECT): $(OBJS)
	$(CC) -o  $@ -lm $(CFLAGS) $(OBJS)

.c.o:
	$(CC) $(CFLAGS) -c $< -o $@

depend:
	gcc -MM *.c > Makefile.dep

Dernière modification par hunterkiller (Le 21/04/2007, à 19:04)


--
hunterkiller EPITA's student
HP:300GO atlon64live x2 NVDIA512 =>beryl a fond
ubuntu 7.10,*bsd ->user

Hors ligne

#2 Le 21/04/2007, à 18:43

Athropos

Re : [non resolu]dependance foireuse avec make

As-tu déjà jeté un œuil à scons ? C'est un équivalent moderne à make. Avec scons, ton Makefile devient un fichier sconstruct qui se limiterait à ça :

env     = Environment()
sources = ['copy_bmp.c', 'main.c', 'read_file.c', 'show_data.c', 'detect_rot.c', 'rot_im.c']

env.ParseConfig( 'pkg-config --cflags --libs gtk+-2.0' )
env.Append( CFLAGS='-Wall -W -g -pedantic' )

env.Program('ocr', sources)

Tu tapes 'scons' et ça compile en générant automatiquement les dépendances. Tu tapes 'scons -c' et ça nettoie tout ce qu'il faut.


A barcode never lies

Hors ligne

#3 Le 21/04/2007, à 18:47

hunterkiller

Re : [non resolu]dependance foireuse avec make

je te remercie d'ailleurs je l'utiserai mais disons que je ne peux pas parce que je n'ai pas le droit (projet d'ecole oblige) a tu une autre solution a proposer


--
hunterkiller EPITA's student
HP:300GO atlon64live x2 NVDIA512 =>beryl a fond
ubuntu 7.10,*bsd ->user

Hors ligne

#4 Le 21/04/2007, à 18:50

Athropos

Re : [non resolu]dependance foireuse avec make

Umm non, car depuis que j'ai découvert scons il y a quelques années je n'ai plus écrit un seul Makefile. Désolé :-)


A barcode never lies

Hors ligne

#5 Le 21/04/2007, à 21:02

hunterkiller

Re : [non resolu]dependance foireuse avec make

up


--
hunterkiller EPITA's student
HP:300GO atlon64live x2 NVDIA512 =>beryl a fond
ubuntu 7.10,*bsd ->user

Hors ligne

#6 Le 21/04/2007, à 21:23

hunterkiller

Re : [non resolu]dependance foireuse avec make

j'ai trouve et je poste ma reponse ici mon probleme etait de gerer les dependence qiu ne marcher pas car les point o etait cree avant

##
## Makefile for OCR in /home/hunterkiller/chris/projet/OCR/src/programme
##
## Made by hunterkiller
## Login   <saez_c@epita.fr>
##
## Started on  Sat Apr 21 14:44:10 2007 hunterkiller
## Last update Sat Apr 21 19:27:30 2007 hunterkiller
##

-include Makefile.rules

SRCS=copy_bmp.c main.c read_file.c show_data.c detect_rot.c rot_im.c
PROJECT=ocr
OBJS=$(SRCS:.c=.o)

all: $(PROJECT)

$(PROJECT): $(OBJS)
	$(CC) -o  $@ -lm $(CFLAGS) $(OBJS)

.c.o:
	$(CC) $(CFLAGS) -c $< -o $@

clean:
	rm -f *~
	rm -f \#*\#
	rm -f *.core
	rm -f *.so *.a *.o
	rm -f a.out
	rm -f *.core *.Dstore *.log

distclean: clean
	rm -f $(PROJECT)
	rm -f *.dep
	rm -f *.rules


depend:
	gcc -MM *.c > Makefile.dep

-include Makefile.dep

--
hunterkiller EPITA's student
HP:300GO atlon64live x2 NVDIA512 =>beryl a fond
ubuntu 7.10,*bsd ->user

Hors ligne