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