Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications
Applications Questions sur l'utilisation d'applications, du shell, et des interfaces graphiques (KDE, Gnome, XFCE... )
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/03/2007, 10h36   #1
Invité de passage
 
Inscription : mars 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 7
Points : 0
Points : 0
Par défaut Erreur lancement Makefile

Salut à tous ,
Je suis débutante de chez débutante en matière de Makefile. J'ai besoin d'en écrire un en ksh. Je l'ai écrit et j'ai une erreur au lancement du make que je ne pige pas : "Invalid multibyte character:e". C'est peut-être débile mais je n'y comprends rien. Au secours les connaisseurs!!!
Merci d'avance.
Boheme83.
boheme83 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2007, 10h43   #2
Rédacteur
 
Inscription : mars 2004
Messages : 1 298
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 1 298
Points : 1 450
Points : 1 450
alors deux choses :
un Makefile s'ecrit en "makefile" pas en ksh
ensuite ton erreur sans le fichier associé reste obscure (le makefile).

tu as ici http://gl.developpez.com/tutoriel/outil/makefile/ un tuto sur makefile.
__________________
Marc
Slackware for ever ......
BASH - KSH ( http://marcg.developpez.com/ksh/ )
MarcG est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2007, 11h22   #3
Rédacteur
 
Inscription : juillet 2004
Messages : 2 573
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : juillet 2004
Messages : 2 573
Points : 1 973
Points : 1 973
Tu pourrais nous montrer ton makefile ?

Voici un exemple tout simple:
Citation:
# makefile utilisé pour mon deuxième article

# Version (programme)
VERSION = 1.0

# Compilateur utilisé
CC = gcc

# Options pour le compilateur
CFLAGS = -Wall -ansi
LDFLAGS= -Wall -ansi

# Définit le nom de l'exécutable à générer
EXEC = psearch

# Définit le nom (page de man)
MAN = psearch.1

# Liste des fichiers sources du projet
SRC = $(wildcard *.c)

# Liste des fichiers objets
OBJ = $(SRC:.c=.o)

# Définit les options (commande rm)
RM = rm -rf

all: $(EXEC)

# Compilation
psearch: $(OBJ)
$(CC) -o $@ $^ $(LDFLAGS)

main.o: psearch.h

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

# Définit le chemin d'installation (programme)
PREFIX = /usr/local
BINPATH = $(PREFIX)/bin

# Définit le chemin d'installation (page de man)
MANPATH = $(PREFIX)/share/man/man1

# Définit les droits (installation)
INSTALL = install -m 755
INSTALLMAN = install -m 644
INSTALLDIR = install -d

# Installation (programme)
install: psearch man-install
$(INSTALLDIR) $(BINPATH)
$(INSTALL) $(EXEC) $(BINPATH)

# Installation (page de man)
man-install:
$(INSTALLDIR) $(MANPATH)
$(INSTALLMAN) $(MAN) $(MANPATH)

# Désinstallation (programme)
uninstall: man-uninstall
-$(RM) $(BINPATH)/$(EXEC)

# Désinstallation (page de man)
man-uninstall:
-$(RM) $(MANPATH)/$(MAN)

# Nettoyage (fichiers générés)
.PHONY: clean tmp

clean:
$(RM) *.o

tmp: clean
$(RM) $(EXEC)
Tu peux t'aider avec cet exemple et parcourir l'article sur l'écriture des makefile par gl.

++

PS: utilisation des balises quote pour plus de lisibilité.
__________________
.Olivier
Olivier Regnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2007, 14h09   #4
Invité de passage
 
Inscription : mars 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 7
Points : 0
Points : 0
Par défaut Erreur Makefile

Merci beaucoup.
Voici le makefile:
Citation:
CC = cc
LN = /usr/bin/ln -sf
RM = /usr/bin/rm -rf
LD = ${CC}
LDFLAGS = -g
FLAGS = -g -DDEBUG ${INCLUDE}


MODULE= ASTERIXSTR

INCLUDE= \
-I../../include \
-I${EDASTXPATH}/INCLUDE

SRC_PATH= ../src


FLAGS= -g -DDEBUG ${INCLUDE}


c_PRODUCT= testEncodageDecodage



CSRCS = ${c_PRODUCT:=.c}

OBJS = ${c_PRODUCT:=.o}

TST_FILES = testEncodageDecodage.c

OBJ_TEST1 = ${OBJS} testEncodageDecodage.o


default:
@echo make all par défaut
make all

clean:
@echo clean
${RM} ${OBJ_TEST1} core *~ #* *.third.*

display:
@echo "MODULE = ${MODULE}"
@echo
@echo "CSRCS = "; echo ${CSRCS} ${TST_FILES} | tr ' ' '\012'
@echo
@echo "OBJS = "; echo ${OBJS} | tr ' ' '\012'
@echo
@echo "INCLUDE = "; echo ${INCLUDE} | tr ' ' '\012'
@echo

.c.o:
@echo
@echo "-- Generation de $@"
@${CC} ${FLAGS} $< -c -o $@

test1: ${OBJ_TEST1}
@echo "Generation de l'executable de test: $@"
@${LD} ${LDFLAGS} -o $@ ${OBJ_TEST1}


all: test1


third:
@echo "Instrumentation des executables pour $@ a `date +%Hh%M`"
atom test1 -tool third -env threads -g -all
@echo "Fin de $@ a `date +%Hh%M`"
Merci encore.
boheme83 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h59.


 
 
 
 
Partenaires

Hébergement Web