# ***********************************************************************
|
# * File: makefile
|
# * Version: 1.0.0
|
# * Copyright: 2011 (c) Guo Wenxue <guowenxue@gmail.com>
|
# * Description: Makefile used to cross compile the ASM and C source code
|
# * ChangeLog: 1, Release initial version on "Mon Mar 21 21:09:52 CST 2011"
|
# *
|
# ***********************************************************************
|
|
BINAME = bootstrap-s3c6410
|
TEXTBASE = 0x0C000000
|
|
CROSS = /opt/buildroot-2012.08/arm1176jzfs/usr/bin/arm-linux-
|
#CROSS = /opt/crosstool/arm-arm1176jzfs-linux-gnueabi/bin/arm-linux-
|
CC = $(CROSS)gcc
|
LD = $(CROSS)ld
|
AR = $(CROSS)ar
|
OBJCOPY = $(CROSS)objcopy
|
OBJDUMP = $(CROSS)objdump
|
STRIP = $(CROSS)strip
|
READELF = $(CROSS)readelf
|
|
CFLAGS = -g -O2 -Wall -nostdinc -nostdlib -fno-builtin
|
AFLAGS = $(CFLAGS) -D__ASSEMBLY__
|
|
LDFLAGS = -Ttext $(TEXTBASE)
|
|
SRC_C = $(wildcard *.c)
|
SRC_S = $(wildcard *.S)
|
OBJ_C = $(patsubst %.c,%.o,$(SRC_C))
|
OBJ_S = $(patsubst %.S,%.o,$(SRC_S))
|
|
OBJ_ALL = $(OBJ_C) $(OBJ_S)
|
|
.PHONY : all
|
all: ${OBJ_ALL}
|
${LD} $(LDFLAGS) -o ${BINAME}.elf ${OBJ_ALL}
|
${OBJCOPY} -O binary -S ${BINAME}.elf ${BINAME}.bin
|
rm -f *.elf *.o
|
|
%.o: %.S
|
$(CC) $(AFLAGS) -c -o $@ $<
|
%.o: %.c
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
install:
|
cp ${BINAME}.bin /tftp -f --reply=yes
|
|
clean:
|
rm -f *.elf *.o
|
rm -f ${BINAME}.bin ${BINAME}.maps
|