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 ($(ARCH),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# The following example is 8260 specific... 48ifeq ($(CPU),mpc8260) 49SREC += mem_to_mem_idma2intr.srec 50BIN += mem_to_mem_idma2intr.bin 51endif 52 53# Utility for resetting i82559 EEPROM 54ifeq ($(BOARD),oxc) 55SREC += eepro100_eeprom.srec 56endif 57 58OBJS = $(SREC:.srec=.o) 59 60LIB = libsyscall.a 61LIBAOBJS= syscall.o 62ifeq ($(ARCH),ppc) 63LIBAOBJS+= $(ARCH)_longjmp.o $(ARCH)_setjmp.o 64endif 65LIBCOBJS= 66LIBOBJS = $(LIBAOBJS) $(LIBCOBJS) 67 68CPPFLAGS += -I.. 69 70all: .depend $(LIB) $(SREC) $(BIN) 71 72######################################################################### 73$(LIB): .depend $(LIBOBJS) 74 $(AR) crv $@ $(LIBOBJS) 75 76%.srec: %.o $(LIB) 77 $(LD) -g -Ttext $(LOAD_ADDR) -o $(<:.o=) -e $(<:.o=) $< $(LIB) 78 $(OBJCOPY) -O srec $(<:.o=) $@ 79 80%.bin: %.srec 81 $(OBJCOPY) -O binary $< $@ 2>/dev/null 82 83######################################################################### 84 85.depend: Makefile $(OBJS:.o=.c) $(LIBCOBJS:.o=.c) $(LIBAOBJS:.o=.S) 86 $(CC) -M $(CFLAGS) $(OBJS:.o=.c) $(LIBCOBJS:.o=.c) $(LIBAOBJS:.o=.S) > $@ 87 88sinclude .depend 89 90######################################################################### 91