Problem mit Makefile

Post Reply
Message
Author
holger2k

Problem mit Makefile

#1 Post by holger2k »

Hallo!

Ich hab ein Problem mit einer Makefile.
Und zwar soll die Makwfile mit jedem Unterverzeichniss "$(MAKE) -C <dir>" aufrufen.
So hab ich das bis jetzt probiert:

1.
$(shell for name in `ls -Axw1`; do test -d $$name && $(MAKE) -C $$name clean; done;)
Ausgabe:
make: Entering directory `/home/lubbr/dev/mods/core' make: Leaving directory `/home/lubbr/dev/mods/core' make: Entering directory `/home/lubbr/dev/mods/network' make: Leaving directory `/home/lubbr/dev/mods/network' make: Entering directory `/home/lubbr/dev/mods/primaryserver' make: Leaving directory `/home/lubbr/dev/mods/primaryserver'
/bin/sh: command substitution: line 1: unexpected EOF while looking for matching `''
/bin/sh: command substitution: line 2: syntax error: unexpected end of file
/bin/sh: command substitution: line 1: unexpected EOF while looking for matching `''
/bin/sh: command substitution: line 2: syntax error: unexpected end of file
/bin/sh: line 1: make:: command not found
make: *** [clean] Error 127


2. So hier:
$(shell for name in `ls -Axw1`; do test -d $$name && echo "$(MAKE) -C $$name clean"; done;)
make -C core clean make -C network clean make -C primaryserver clean
make: *** network: No such file or directory. Stop.
make: *** [clean] Error 2

Wie bekomm ich das hin so das es geht wie ich will. :(

User avatar
hjb
Pro-Linux
Posts: 3264
Joined: 15. Aug 1999 16:59
Location: Bruchsal
Contact:

Re: Problem mit Makefile

#2 Post by hjb »

Hi!

Vielleicht ist das Semikolon nach dem "done" verkehrt - überflüssig ist es allemal.

So funktioniert es bei mir:

for i in $(SUBDIRS); do ($(MAKE) -C $$i all); done

Allerdings muß sichergestellt sein, daß SUBDIRS nicht leer ist, sonst gibt es einen Syntaxfehler. Das kann man erreichen mit:

<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">ifeq ($(SUBDIRS),)
all: all-local
else
all: all-local all-recursive
endif

all-recursive:
for i in $(SUBDIRS); do ($(MAKE) -C $$i all); done

all-local: whatever
</font><hr></pre></blockquote>

Gruß,
hjb
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?

holger2k

Re: Problem mit Makefile

#3 Post by holger2k »

Hallo!

Danke! Es geht jetzt!

Es ging auch nach meiner Methode, wenn ich das (shell ... weglasse.

Post Reply