[uClinux-dev] FW:

From: xue_pengyu (xue_pengyu@anyka.com.cn)
Date: Tue Feb 26 2002 - 20:21:32 EST


Dear all,

    I have some trouble in compiling my programs

    The following is my Makefile based on 'm68k-pic-coff-gcc'
cross-compiler.

    Later, I modified this Makefile and make it based on 'm68k-elf-gcc'
cross-compiler, but it always showed some error messages when it linked
libraries.

    The ld errorcode is 139, I don't know what error it is.



    Please dear all can help me. Thanks!



-Jedediah



M68k-pic-coff-gcc Makefile:

all::



ifndef TOP

TOP = .

endif



ifdef EMBED



ARCH = $(TOP)/arch/embed

BUILD = $(TOP)/build/embed

O = embed.o

CC = m68k-pic-coff-gcc -fpic

OBJCOPY = m68k-pic-coff-objcopy

LD = m68k-pic-coff-ld --embedded-relocs

RANLIB = m68k-pic-coff-ranlib



# Please correct location of m68k-pic-coff libgcc

LIBGCC = `$(CC) -v 2>&1 | grep specs | sed -e "s/Reading specs from //" |
sed -e s/specs/libgcc.a/`



STARTUP = $(ARCH)/crt0.o





CFLAGS
= -O2 -m68000 -g -fno-builtin -msoft-float -D__linux__ -DEMBED -I$(TOP)/../l
ib/include

COFF2FLT = coff2flt

LINK = $(LD) -T $(ARCH)/user.ld $(STARTUP) $^ $(TOP)/../lib/libc.a
$(LIBGCC) -o $@.coff && $(COFF2FLT) -o $@ $@.coff $(LDFLAGS)

LINKM = $(LD) -T $(ARCH)/user.ld $(STARTUP) $^ $(TOP)/../lib/libc.a
$(TOP)/../lib/libmf.a $(LIBGCC) -o $@.coff && $(COFF2FLT) -o $@ $@.coff
$(LDFLAGS)



.PHONY: $(STARTUP)



$(STARTUP): $(ARCH)/crt0.S

         $(CC) $(CFLAGS) -c $< -o $@



clean::

#       rm -f *.coff



else



ARCH = $(TOP)/arch/pc

BUILD = $(TOP)/build/pc

O = pc.o

CC = gcc

CFLAGS = -g

LINK = $(CC) -g $^ -o $@ -lefence $(LDFLAGS)

LINKM = $(CC) -g $^ -lm -o $@ -lefence $(LDFLAGS)

RANLIB = ranlib



endif



ifneq "$(TOP)" "."



doc lynxdoc netscapedoc:

         $(MAKE) -C $(TOP) $@



ifndef uploader



install:

         $(MAKE) -C $(TOP) $@



upload:

         $(MAKE) -C $(TOP) $@



endif



endif



adderrors:

         perl $(TOP)/liberror/adderrors.pl $(TOP)/liberror/IPSErrorCodes.h
*.[ch]



realclean:: clean

         rm -f *.o

         rm -f $(foreach dir, $(wildcard $(TOP)/build/*), $(foreach file,
$(notdir $(CLEAN)), $(dir)/$(file)))



clean::

         rm -f *.$(O) *~ core



.SUFFIXES : .$(O)



%.$(O) : %.c ; $(CC) $(CFLAGS) -c $< -o $@



LIBNET = $(BUILD)/libnet.a $(TOP)/libnet/libnet-libstamp.$(O)

INCNET = -I$(TOP)/libnet



LIBSERIAL = $(BUILD)/libserial.a $(TOP)/libserial/libserial-libstamp.$(O)

INCSERIAL = -I$(TOP)/libserial



LIBRESOLV = $(BUILD)/libresolv.a $(TOP)/libresolv/libresolv-libstamp.$(O)

INCRESOLV = -I$(TOP)/libresolv



LIBRPC = $(BUILD)/librpc.a $(TOP)/librpc/librpc-libstamp.$(O)

INCRPC = -I$(TOP)/librpc



INCDEBUG = -I$(TOP)/libdebug



M68k-elf-gcc Makefile:

all::



ifndef TOP

TOP = /usr/local/m68k-elf

endif



ifdef EMBED



#ARCH = $(TOP)/arch/embed

BUILD = $(TOP)/build/embed

O = embed.o

CC = m68k-elf-gcc -DLINUX -m68000

OBJCOPY = m68k-elf-objcopy

AS = m68k-elf-as

AR = m68k-elf-ar

LD = m68k-elf-ld

RANLIB = m68k-elf-ranlib

#CC = m68k-pic-coff-gcc -fpic

#OBJCOPY = m68k-pic-coff-objcopy

#LD = m68k-pic-coff-ld --embedded-relocs

#RANLIB = m68k-pic-coff-ranlib



# Please correct location of m68k-pic-coff libgcc

#LIBGCC = `$(CC) -v 2>&1 | grep specs | sed -e "s/Reading specs from //" |
sed -e s/specs/libgcc.a/`



CFLAGS
= -m68000 -O2 -fno-builtin -msep-data -D__linux__ -DEMBED -I$(TOP)/lib/inclu
de

#COFF2FLT = coff2flt

LINK = $(CC) -T/usr/local/m68k-elf/lib/elf2flt.ld
$^ -L/usr/local/m68k-elf/lib -lc -o $@ $(LDFLAGS) -Wl,-elf2flt

LINKM = $(CC) -T/usr/local/m68k-elf/lib/elf2flt.ld
$^ -lc -L/usr/local/m68k-elf/lib -lmf.a -o $@ $(LDFLAGS) -Wl,-elf2flt



.PHONY:



#$(STARTUP): /uclinux/appsrc/arch/embed/crt0.S

#       $(CC) $(CFLAGS) -c $< -o $@



clean::

#       rm -f *.coff



else



#ARCH = $(TOP)/arch/pc

BUILD = $(TOP)/build/pc

O = pc.o

CC = gcc

CFLAGS = -g

LINK = $(CC) -g $^ -o $@ -lefence $(LDFLAGS)

LINKM = $(CC) -g $^ -lm -o $@ -lefence $(LDFLAGS)

RANLIB = ranlib



endif



#ifneq "$(TOP)" "."



#doc lynxdoc netscapedoc:

#       $(MAKE) -C $(TOP) $@



#ifndef uploader



#install:

#       $(MAKE) -C $(TOP) $@



#upload:

#       $(MAKE) -C $(TOP) $@



#endif



#endif



adderrors:

         perl $(TOP)/liberror/adderrors.pl $(TOP)/liberror/IPSErrorCodes.h
*.[ch]



realclean:: clean

         rm -f *.o

         rm -f $(foreach dir, $(wildcard $(TOP)/build/*), $(foreach file,
$(notdir $(CLEAN)), $(dir)/$(file)))



clean::

         rm -f *.$(O) *~ core



.SUFFIXES : .$(O)



%.$(O) : %.c ; $(CC) $(CFLAGS) -c $< -o $@



LIBNET = $(BUILD)/libnet.a $(TOP)/libnet/libnet-libstamp.$(O)

INCNET = -I$(TOP)/libnet



LIBSERIAL = $(BUILD)/libserial.a $(TOP)/libserial/libserial-libstamp.$(O)

INCSERIAL = -I$(TOP)/libserial



LIBRESOLV = $(BUILD)/libresolv.a $(TOP)/libresolv/libresolv-libstamp.$(O)

INCRESOLV = -I$(TOP)/libresolv



LIBRPC = $(BUILD)/librpc.a $(TOP)/librpc/librpc-libstamp.$(O)

INCRPC = -I$(TOP)/librpc



INCDEBUG = -I$(TOP)/libdebug



This message resent by the uclinux-dev@uclinux.org list server http://www.uClinux.org/


This archive was generated by hypermail 2.1.4 : Thu Sep 19 2002 - 13:20:55 EDT