[BACK]Return to Makefile CVS log [TXT][DIR] Up to [local] / funnyos / arch / sam7s64

File: [local] / funnyos / arch / sam7s64 / Makefile (download)

Revision 1.5, Mon Nov 12 22:02:18 2007 UTC (16 years, 6 months ago) by nbrk
Branch: MAIN
Changes since 1.4: +3 -2 lines

place data at the top 4 KB of 64KB flash;
hardcode disposition of .data and .bss into ldscript.

this all makes compiler generate code with data at 0x00200000 in mind,
while linker places it at the (imaginary) end of text (60 KB) - last 4KB (0x0000f000) in ROM

# $Id: Makefile,v 1.5 2007/11/12 22:02:18 nbrk Exp $
# Makefile for funnyOS.
# MD files are listed here.

# include MI stuff
.include "makefile.mi.inc"

# ARM cross tools dir
CROSSTOOLS=/usr/cross/ipaq

# md source files (implies loader and config.c)
#MDSRC=  boot/loader.S
LOADER= boot/loader.S
MDSRC=  boot/irq_trampoline.c
MDSRC+= config.c
MDSRC+= dev/*.c

# md headers
MDHDR=  dev/*.h

# flags passed to gcc
CFLAGS=  -I../.. -O0 -nostdlib -ffreestanding -fno-stack-protector -nodefaultlibs
CFLAGS+= -c -DARCH_SAM7S64
LDFLAGS= -T ldscript -Ttext 0x00000000 -Tdata 0x00200000 # f000 == 60KB

build: ${LOADER} ${MDHDR} ${MIHDR} ${MDSRC} ${MISRC}
		${CROSSTOOLS}/usr/bin/gcc -c -o boot/loader.o ${LOADER}
		${CROSSTOOLS}/usr/bin/gcc ${CFLAGS} ${MDSRC} ${MISRC}
		${CROSSTOOLS}/usr/bin/ld ${LDFLAGS} boot/loader.o *.o 
		${CROSSTOOLS}/usr/bin/objcopy -O binary a.out a.bin

clean:
		rm a.out *.o boot/loader.o

ctags: ${LOADER} ${MDHDR} ${MIHDR} ${MDSRC} ${MISRC}
		rm tags
		ctags -adt ${LOADER} ${MDHDR} ${MIHDR} ${MDSRC} ${MISRC}