automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[BUG] nasm files are not processed in automake generated Makefiles


From: Edouard Gomez
Subject: [BUG] nasm files are not processed in automake generated Makefiles
Date: Wed, 21 Aug 2002 01:51:37 +0200
User-agent: Mutt/1.4i

Hello,

I'm  trying   to  build  an   autoconf/automake  tree  for   the  XviD
project. The  XviD lib uses  lot of optimized  asm files that  must be
assemble with nasm.

As libtool does not support nasm natively, i had to use a tip from the
the libsdl  library automake  files. But like  libsdl (you can  read a
mail from  Arkadiusz Miskiewicz <address@hidden>, 20  Oct 2001) the
nasm files are not processed.

My Makefile.am looks like this :
******** Makefile.am start ********
NASM = @NASM@
NASMFLAGS = @NASMFLAGS@

SRC_INTEL = \
        $(top_srcdir)/src/utils/x86_asm/cpuid.asm \
        ... list of nasm files to assemble

lib_LTLIBRARIES = libxvid.la

SUFFIXES = .asm

libxvid_la_SOURCES = $(SRC_INTEL) 

FIXPIC = sh $(top_srcdir)/fixPIC.sh

.asm.lo:
        $(LIBTOOL) --mode=compile $(NASM) $(NASMFLAGS) $<

******** Makefile.am end ********


The resulting Makefile looks like this

******** Makefile start ********
[...]
am__objects_1 = cpuid.lo cbp_mmx.lo cbp_sse2.lo fdct_mmx.lo idct_mmx.lo \
        interpolate8x8_mmx.lo rgb_to_yv12_mmx.lo yuv_to_yv12_mmx.lo \
        yuyv_to_yv12_mmx.lo yv12_to_rgb24_mmx.lo yv12_to_rgb32_mmx.lo \
        yv12_to_yuyv_mmx.lo sad_mmx.lo quantize4_mmx.lo quantize_mmx.lo \
        mem_transfer_mmx.lo interpolate8x8_xmm.lo sad_xmm.lo \
        sad_sse2.lo interpolate8x8_3dn.lo sad_3dn.lo
am_libxvid_la_OBJECTS = $(am__objects_1)
libxvid_la_OBJECTS = $(am_libxvid_la_OBJECTS)

[...]
cpuid.lo: $(top_srcdir)/src/utils/x86_asm/cpuid.asm
# all the nasm files have a .lo target entry

[...]

.asm.lo:
        $(LIBTOOL) --mode=compile $(NASM) $(NASMFLAGS) $<

[...]
******** Makefile end ********

So  as i  far as  i understand  the generated  Makefile, to  build the
libxvid lib,  make should  first create all  *.lo files. So  it should
find  individual nasm  file targets  and  process them  thanks to  the
.asm.lo  target. But  there's something  wrong here  because  i obtain
that:

address@hidden:src] # make clean all
test -z "libxvid.la" || rm -f libxvid.la
rm -f "libxvid.la/so_locations"
rm -rf .libs _libs
rm -f *.o core *.core
rm -f *.lo
rpath /usr/local/lib  cpuid.lo cbp_mmx.lo cbp_sse2.lo fdct_mmx.lo idct_mmx.lo 
interpolate8x8_mmx.lo rgb_to_yv12_mmx.lo yuv_to_yv12_mmx.lo yuyv_to_yv12_mmx.lo 
yv12_to_rgb24_mmx.lo yv12_to_rgb32_mmx.lo yv12_to_yuyv_mmx.lo sad_mmx.lo 
quantize4_mmx.lo quantize_mmx.lo mem_transfer_mmx.lo interpolate8x8_xmm.lo 
sad_xmm.lo sad_sse2.lo interpolate8x8_3dn.lo sad_3dn.lo  
make: rpath: Command not found
make: [libxvid.la] Error 127 (ignored)
******** End of output ********

I've also run a single target to see if it was make which was failing :

address@hidden:src] # make -d cpuid.lo
[...]
Reading makefile `Makefile'...
Updating makefiles....
 Considering target file `Makefile'.
  Finished prerequisites of target file `Makefile'.
 No need to remake target `Makefile'.
Updating goal targets....
Considering target file `cpuid.lo'.
 File `cpuid.lo' does not exist.
 Looking for an implicit rule for `cpuid.lo'.
[...]
 Trying implicit prerequisite `cpuid.asm'.
 Looking for a rule with intermediate file `cpuid.asm'.
[...]
   Finished prerequisites of target file `../src/utils/x86_asm/cpuid.asm'.
  No need to remake target `../src/utils/x86_asm/cpuid.asm'.
 Finished prerequisites of target file `cpuid.lo'.
Must remake target `cpuid.lo'.
Successfully remade target file `cpuid.lo'.
make: Nothing to be done for `cpuid.lo'.
******** End of output ********

If someone is  interested, i could send him the files  and all cvs url
needed to checkout the source repository.

Btw, I would prefer someone with a solution :-)

PLEASE CC ME BECAUSE I'M NOT SUBSCRIBED TO THE LIST.

PS :
aclocal (GNU automake) 1.6.3
ltmain.sh (GNU libtool) 1.4.2a (1.922.2.100 2002/06/26 07:25:14)
autoconf (GNU Autoconf) 2.53
automake (GNU automake) 1.6.3

-- 
Edouard Gomez




reply via email to

[Prev in Thread] Current Thread [Next in Thread]