3 # Copyright 2009 Christopher Hall <hsw@openmoko.com>
5 # Redistribution and use in source and binary forms, with or without
6 # modification, are permitted provided that the following conditions are
9 # 1. Redistributions of source code must retain the above copyright
10 # notice, this list of conditions and the following disclaimer.
12 # 2. Redistributions in binary form must reproduce the above copyright
13 # notice, this list of conditions and the following disclaimer in
14 # the documentation and/or other materials provided with the
17 # THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS ``AS IS'' AND ANY
18 # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20 # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE
21 # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
24 # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25 # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
26 # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
27 # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 export PATH
:=..
/install/bin
:${PATH}
31 CROSS
= c33-epson-elf-
32 CROSS_GCC
= ${CROSS}gcc
35 CROSS_STRIP
= ${CROSS}strip
36 CROSS_OBJDUMP
= ${CROSS}objdump
37 CROSS_OBJCOPY
= ${CROSS}objcopy
42 FATFS_SRC
= ${FATFSDIR}/src
43 LIBDIR
=..
/toolchain
/mini-libc
45 INCLUDES
+= -I
${COMMON}
46 INCLUDES
+= -I
${FATFS_SRC}
47 INCLUDES
+= -I
$(LIBDIR
)/include
49 LIBS
+= $(LIBDIR
)/lib
/libc.a
50 LIBS
+= $$($(CROSS_GCC
) -print-libgcc-file-name
)
54 CROSS_LDFLAGS
= -static
--strip-all
--no-gc-sections
--omagic
55 CROSS_ASFLAGS
= -mc33pe
--fatal-warnings
58 vpath
%.c
:${COMMON}:${FATFS_SRC}
64 FORTH_OBJECTS
= forth.o serial.o debug.o mmc.o tff.o FileSystem.o
65 forth.elf
: ${FORTH_OBJECTS} forth.lds
66 ${CROSS_LD} ${CROSS_LDFLAGS} -T
${@
:.elf
=.lds
} -Map
${@
:.elf
=.map
} -o
$@
${FORTH_OBJECTS} ${LIBS}
67 ${CROSS_STRIP} --remove-section
=.comment
$@
68 ${CROSS_OBJDUMP} --section-headers
$@
72 ${RM} *~
*.o
*.d
*.lst
*.elf
*.map
*.asm33
75 ${CROSS_AS} -o
$@
${CROSS_ASFLAGS} -ahlsm
=${@
:.o
=.lst
} $<
79 include ..
/common
/Makefile