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