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/07/2020, à 09:53

lamoule74

[RESOLU] erreurs générées par makefile

Bonjour à toutes/tous,

Je tente d'utiliser un SDK qui fournit un makefile pour compiler du script.

J'ai des erreurs à l’exécution de la commande make, et j'ai interrogé la communauté  du SDK qui me répond que cela doit être lié au mauvais à son emplacement.
Je ne suis pas spécialiste de l'outil makefile mais j'ai comme un doute quand je regarde les warning et les erreurs en question, d'autant que je pense avoir placé le fichier au bon endroit.

Le retour de la commande make :

$ make
Makefile:40: *** mixed implicit and normal rules: deprecated syntax
Makefile:45: warning: overriding recipe for target '/home/ob/dev/Ride-cli/bundles/build'
Makefile:41: warning: ignoring old recipe for target '/home/ob/dev/Ride-cli/bundles/build'
make: *** No rule to make target '%.lf', needed by '/home/ob/dev/Ride-cli/bundles/build'. Stop.

Le makefile légèrement modifié au début du fichier (j'ai rajouté les liens en absolu) :

# Configurable variables
#SOURCE_DIR ?= bundles
SOURCE_DIR ?= /home/ob/dev/Ride-cli/bundles # modif OB
#BUILDDIR ?= build
BUILDDIR ?= /home/ob/dev/Ride-cli/bundles/build # modif OB
DISTDIR ?= $(BUILDDIR)/dist

# File handling variables
BUNDLE_LF=$(foreach d,$(SOURCE_DIR), $(wildcard $(d)/*/sources/*.lf))
PARSED_STATEMACHINES=$(foreach f,$(BUNDLE_LF), $(BUILDDIR)/$(f:.lf=.json))

all: upload-bundles

BUNDLES=$(shell find $(SOURCE_DIR) -type f -name 'manifest.json' | sed -r 's|/[^/]+$$||' | sed -r 's|^$(SOURCE_DIR)/||' | sort | uniq)
bundles: parse $(DISTDIR)
	ride bundle compile $(BUNDLES) -B $(BUILDDIR)/bundles --ignore-dependencies -o $(DISTDIR)/$@.zip
.PHONY: bundles

upload-bundles: bundles
	ride bundle install $(DISTDIR)/bundles.zip

bundle-%: parse $(DISTDIR)
	ride bundle compile $(@:bundle-%=%) -B $(BUILDDIR)/bundles --ignore-dependencies -o $(DISTDIR)/$(patsubst bundle-%,%,$(@)).zip $(patsubst bundle-%,%,$(@))

clean:
	rm -rf $(BUILDDIR) $(DISTDIR)

parse: $(PARSED_STATEMACHINES)
	for dir in $(SOURCE_DIR); do \
		mkdir -p $(BUILDDIR)/$$dir; \
		bundles=$$(find $$dir -type f -name 'manifest.json' | sed -r 's|/[^/]+$$||' | sort | uniq); \
		for bundle in $$bundles; do \
			mkdir -p $(BUILDDIR)/$$bundle; \
			cp $$bundle/manifest.json $(BUILDDIR)/$$bundle;  \
			if [ -d $$bundle/resources ]; then cp -r $$bundle/resources $(BUILDDIR)/$$bundle; fi; \
			ln -fs sources $(BUILDDIR)/$$bundle/statemachines; \
		done; \
	done

$(BUILDDIR)/%.json: %.lf
	@mkdir -p $(shell dirname $@)
	ride cli parse -o $@ -f $< 

$(DISTDIR):
	mkdir -p $(DISTDIR)

Un avis sur la question?

Merci à ceux qui saurons me répondre.

Dernière modification par lamoule74 (Le 06/07/2020, à 13:51)


Ubuntu est un mot Africain qui veut dire:"Je n'ai pas réussi à configurer ma Debian"

Hors ligne

#2 Le 06/07/2020, à 13:51

lamoule74

Re : [RESOLU] erreurs générées par makefile

OK bon,
j'ai résolu mon problème seul c'est effectivement les chemins auxquels je n'aurais pas dû toucher;
je vais mettre le sujet en RESOLU et aller me cacher dans un trou de souris...

hmm roll


Ubuntu est un mot Africain qui veut dire:"Je n'ai pas réussi à configurer ma Debian"

Hors ligne