#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!!!) ?
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
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...
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
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
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne