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 06/12/2012, à 11:43

alen

problème avec commande make install

salut,

je travaille sous ubuntu 10.10
j'ai deux fichier serial.h et serial.c
je veux installer serial qui est sous cette arborescence /home/test/modem

je test cette commande :root@ubuntu:/home/test/modem/serial# make

et j'ai comme résultat

cc   -g    -c -o src/serial.o src/serial.c
mkdir -p priv/bin
mkdir -p priv/bin
cc -o priv/bin/serial  src/serial.o 
mkdir -p ebin
erlc -o ebin src/serial.erl
erlc -o ebin src/slip.erl
src/slip.erl:54: Warning: list/1 obsolete
src/slip.erl:57: Warning: atom/1 obsolete
erlc -o ebin src/terminal.erl

elle m'a générer un fichier serial.o et elle a créer deux dossier ebin et priv

sous priv elle crée un dossier bin contient le fichier exécutable serial

maintenant je veux installer serial

j'ai essayé avec :

root@ubuntu:/home/test/modem/serial/priv/bin# make install serial
make: *** No rule to make target `install'.  Stop.

et quand j'ai essayé avec :

root@ubuntu:/home/test/modem/serial# make install 
erlc -o ebin src/serial.erl
erlc -o ebin src/terminal.erl
Set DESTDIR before running the install target.
make: *** [install] Error 1

merci d'avance

Dernière modification par alen (Le 06/12/2012, à 12:04)

Hors ligne

#2 Le 06/12/2012, à 12:08

tiramiseb

Re : problème avec commande make install

Probablement que le Makefile ne précise pas d'action pour la cible "install"...

D'où viennent ces sources ? Qui les a écrites ? Comment est fait le fichier Makefile ? As-tu la possibilité de nous en montrer le contenu (s'il n'est pas trop long!!!) ?

Hors ligne

#3 Le 06/12/2012, à 12:48

alen

Re : problème avec commande make install

merci pour votre réponse,

en fait  le dossier que j'ai eu contient un fichier Makefile

le contenu de ce fichier est :

VSN = 1.1
INSTALL_DIR=serial-$(VSN)
FULL_INSTALL_DIR=$(DESTDIR)/erlang/lib/$(INSTALL_DIR)

WARNING_OPTIONS =
LANGUAGE_OPTIONS = 
COMPILER_OPTIONS = -g 

CFLAGS   = $(WARNING_OPTIONS) $(LANGUAGE_OPTIONS) $(COMPILER_OPTIONS)

######################################################################

HEADER_FILES = src/serial.h
SOURCE_FILES = src/serial.c

OBJECT_FILES = $(SOURCE_FILES:.c=.o)

######################################################################

ERL_FILES = $(wildcard src/*.erl)
BEAM_FILES = $(patsubst src/%.erl, ebin/%.beam, $(ERL_FILES))

######################################################################

all: priv/bin/serial $(BEAM_FILES)

install: all
	@[ -n "$(DESTDIR)" ] || (echo "Set DESTDIR before running the install target."; false)
	install -d $(FULL_INSTALL_DIR)/ebin
	install -d $(FULL_INSTALL_DIR)/priv/bin
	install -d $(FULL_INSTALL_DIR)/src
	install -m 644 ebin/* $(FULL_INSTALL_DIR)/ebin
	install -m 755 priv/bin/* $(FULL_INSTALL_DIR)/priv/bin
	install -m 644 src/* $(FULL_INSTALL_DIR)/src

ebin/%.beam: src/%.erl ebin
	erlc -o ebin $<

ebin:
	mkdir -p ebin

priv/bin:
	mkdir -p priv/bin

priv/bin/serial: $(OBJECT_FILES) priv/bin
	mkdir -p priv/bin
	$(CC) -o $@ $(LDFLAGS) $(OBJECT_FILES) $(LDLIBS)

clean:
	rm -f priv/bin/serial $(OBJECT_FILES) $(BEAM_FILES)

serial.o: serial.c serial.h

echo-version:
	@echo $(VSN)

Dernière modification par alen (Le 06/12/2012, à 12:50)

Hors ligne

#4 Le 06/12/2012, à 13:12

tiramiseb

Re : problème avec commande make install

Il faut retourner à la racine de l'archive (donc dans /home/test/modem/serial) et taper :

make install

root@ubuntu:/home/test/modem/serial/priv/bin# make install serial
make: *** No rule to make target `install'.  Stop.

Je suis prêt à parier qu'il n'y a pas de Makefile dans priv/bin...

Hors ligne

#5 Le 06/12/2012, à 13:17

alen

Re : problème avec commande make install

en fait j'ai essayé avec :

root@ubuntu:/home/test/modem/serial# make install 
erlc -o ebin src/serial.erl
erlc -o ebin src/terminal.erl
Set DESTDIR before running the install target.
make: *** [install] Error 1

et il a raison puisque dans le code de Makefile qui se trouve dans le serial il y a cette ligne : 

@[ -n "$(DESTDIR)" ] || (echo "Set DESTDIR before running the install target."; false)

mais le problème est comment mettre le DESTDIR

Hors ligne

#6 Le 06/12/2012, à 13:18

tiramiseb

Re : problème avec commande make install

essaie :

DESTDIR=/le/repertoire/que/tu/veux make install

Hors ligne