From: Ralf Wildenhues <[EMAIL PROTECTED]>
To: Jari Strand <[EMAIL PROTECTED]>
CC: automake@gnu.org
Subject: Re: no rule to make asm targets
Date: Tue, 5 Dec 2006 07:32:34 +0100
* Jari Strand wrote on Tue, Dec 05, 2006 at 04:03:01AM CET:
> >From: Ralf Wildenhues <[EMAIL PROTECTED]>
> >
> >Please keep the mailing list in Cc:. Thanks.
>
> I am sorry because I don't know what Cc means?
It means that, when you reply, you should also send a copy of the
message to the automake mailing list. That way, everyone can look
at the discussion, help, learn, and I can find old messages easily.
> >* Jari Strand wrote on Mon, Dec 04, 2006 at 02:09:10PM CET:
> >> Are you saying that there should be no identation after the
> >> .asm.o: line?
> >
> >No. The error you made was the doubled period. Instead of writing
> >this:
> >..asm.o:
> >You should be writing this:
> >.asm.o:
> I see thank you, that was actually just a typo, it was correctly typed
in
> the Makefile.am.
OK.
> >SUFFIXES = .asm .o
> >
> >This helps automake detect the list of suffixes; it will then set it
> >correctly for make.
>
> Alright I have put that SUFFICES line in but it did not help.
(I assume that this is yet another typo, right? SUFFIXES vs. SUFFICES.)
Right it was a typo ,sorry about those.
> I wonder what is wrong and it bugs me that all of the .o files generate
are
> name like buildName-fileName.o instead of just filename.o . It probably
> doesnt matter but I thought that I should ask at the same time if it's
> possible to set the output location of the generated .o files?
Ahh. Now we're getting closer. You have per-target compilation flags,
right? Then an inference rule won't do. Please post your Makefile.am,
that may help pointing out ways out.
That makes sense.
Generally, you could
- avoid per-target flags here to avoid the renamed object files, or
- write manual rules for all those objects, or
- write the target dependencies on the objects yourself, to control
the object file names, or
- use Automake 1.10, and just use its builtin support for assembly
(but then your source files need to be named *.s/*.S, and you need
CCAS/CCASFLAGS/AM_CCASFLAGS, and the AM_PROG_AS macro; see the manual)
Hope that helps.
Cheers,
Ralf
Ok here is the Slightly modified Makefile.am:
bin_PROGRAMS = editorD
TLIB_PATH = /home
AM_CPPFLAGS = -I$(TLIB_PATH)/openal/LINUX -I$(TLIB_PATH)/lungif
-I$(TLIB_PATH)/lungif -I$(TLIB_PATH)/opengl2d3d -I$(TLIB_PATH)/zlib
-I$(TLIB_PATH)/lpng -I$(TLIB_PATH)/ljpeg -I$(TLIB_PATH)/vorbis/include
CPLUS_INCLUDE_PATH = /usr/include
editorD_CPPFLAGS = $(AM_CPPFLAGS) -DEDITOR_BUILD
editorD_SOURCES = \
someSource.cc \
someAsm.asm
SUFFIXES = .asm.o
..asm.o: $(NASM_PATH) -o $@ -f elf -dLINUX $<
that's located in sub directory called engine and in the root dir I have
Makefile.am that has only one line:
SUBDIRS = engine
Thanks!
PS: I hope I got that Cc right now?
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/