1# 2# (C) Copyright 2000 3# Wolfgang Denk, DENX Software Engineering, wd@denx.de. 4# 5# See file CREDITS for list of people who contributed to this 6# project. 7# 8# This program is free software; you can redistribute it and/or 9# modify it under the terms of the GNU General Public License as 10# published by the Free Software Foundation; either version 2 of 11# the License, or (at your option) any later version. 12# 13# This program is distributed in the hope that it will be useful, 14# but WITHOUT ANY WARRANTY; without even the implied warranty of 15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16# GNU General Public License for more details. 17# 18# You should have received a copy of the GNU General Public License 19# along with this program; if not, write to the Free Software 20# Foundation, Inc., 59 Temple Place, Suite 330, Boston, 21# MA 02111-1307 USA 22# 23 24LOAD_ADDR = 0x40000 25 26include $(TOPDIR)/config.mk 27 28SREC = hello_world.srec 29BIN = hello_world.bin 30 31ifeq ($(ARCH),ppc) 32SREC += sched.srec 33BIN += sched.bin 34endif 35 36ifeq ($(CPU),mips) 37SREC = 38BIN = 39endif 40 41# The following example is pretty 8xx specific... 42ifeq ($(CPU),mpc8xx) 43SREC += timer.srec 44BIN += timer.bin 45endif 46 47# Utility for resetting i82559 EEPROM 48ifeq ($(BOARD),oxc) 49SREC += eepro100_eeprom.srec 50endif 51 52OBJS = $(SREC:.srec=.o) 53 54LIB = libsyscall.a 55LIBAOBJS= syscall.o 56ifeq ($(ARCH),ppc) 57LIBAOBJS+= $(ARCH)_longjmp.o $(ARCH)_setjmp.o 58endif 59LIBCOBJS= 60LIBOBJS = $(LIBAOBJS) $(LIBCOBJS) 61 62CPPFLAGS += -I.. 63 64all: .depend $(LIB) $(SREC) $(BIN) 65 66######################################################################### 67$(LIB): .depend $(LIBOBJS) 68 $(AR) crv $@ $(LIBOBJS) 69 70%.srec: %.o $(LIB) 71 $(LD) -g -Ttext $(LOAD_ADDR) -o $(<:.o=) -e $(<:.o=) $< $(LIB) 72 $(OBJCOPY) -O srec $(<:.o=) $@ 73 74%.bin: %.srec 75 $(OBJCOPY) -O binary $< $@ 2>/dev/null 76 77######################################################################### 78 79.depend: Makefile $(OBJS:.o=.c) $(LIBCOBJS:.o=.c) $(LIBAOBJS:.o=.S) 80 $(CC) -M $(CFLAGS) $(OBJS:.o=.c) $(LIBCOBJS:.o=.c) $(LIBAOBJS:.o=.S) > $@ 81 82sinclude .depend 83 84######################################################################### 85