89 lines
2.8 KiB
Makefile
89 lines
2.8 KiB
Makefile
#
|
|
# (C) Copyright 2000
|
|
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
|
#
|
|
# See file CREDITS for list of people who contributed to this
|
|
# project.
|
|
#
|
|
# This program is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU General Public License as
|
|
# published by the Free Software Foundation; either version 2 of
|
|
# the License, or (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, write to the Free Software
|
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
|
# MA 02111-1307 USA
|
|
#
|
|
|
|
#########################################################################
|
|
|
|
# clean the slate ...
|
|
PLATFORM_LDFLAGS =
|
|
PLATFORM_RELFLAGS = -fno-strict-aliasing -fno-common -ffixed-r8 -ffunction-sections -msoft-float -Wcast-align -Wall
|
|
PLATFORM_CPPFLAGS = -march=armv4t -mlong-calls -mtune=arm7tdmi-s -DCONFIG_ARM -D__ARM__ -mcallee-super-interworking -mthumb -mthumb-interwork
|
|
TEXT_BASE = 0x00400000
|
|
|
|
#########################################################################
|
|
|
|
#
|
|
# Include the make variables (CC, etc...)
|
|
#
|
|
AS = $(CROSS_COMPILE)as
|
|
LD = $(CROSS_COMPILE)ld
|
|
CC = $(CROSS_COMPILE)gcc
|
|
CPP = $(CC) -E
|
|
AR = $(CROSS_COMPILE)ar
|
|
NM = $(CROSS_COMPILE)nm
|
|
STRIP = $(CROSS_COMPILE)strip
|
|
OBJCOPY = $(CROSS_COMPILE)objcopy
|
|
OBJDUMP = $(CROSS_COMPILE)objdump
|
|
RANLIB = $(CROSS_COMPILE)RANLIB
|
|
|
|
RELFLAGS= $(PLATFORM_RELFLAGS)
|
|
DBGFLAGS= -g -DDEBUG
|
|
OPTFLAGS= -Os #-fomit-frame-pointer
|
|
LDSCRIPT := boot.lds
|
|
OBJCFLAGS += --gap-fill=0xff
|
|
|
|
gccincdir := $(shell $(CC) -print-file-name=include)
|
|
|
|
CPPFLAGS := $(DBGFLAGS) $(OPTFLAGS) $(RELFLAGS) \
|
|
-D__KERNEL__ -DTEXT_BASE=$(TEXT_BASE) \
|
|
-I$(TOPDIR)/libmc1322x/include \
|
|
-fno-builtin -ffreestanding -nostdinc -isystem \
|
|
$(gccincdir) -pipe $(PLATFORM_CPPFLAGS)
|
|
|
|
ifdef BUILD_TAG
|
|
CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes \
|
|
-DBUILD_TAG='"$(BUILD_TAG)"'
|
|
else
|
|
CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes
|
|
endif
|
|
|
|
AFLAGS_DEBUG := -Wa,-gstabs
|
|
AFLAGS := $(AFLAGS_DEBUG) -D__ASSEMBLY__ $(CPPFLAGS)
|
|
|
|
LDFLAGS += -Bstatic -T $(LDSCRIPT) -Ttext $(TEXT_BASE) $(PLATFORM_LDFLAGS)
|
|
|
|
#########################################################################
|
|
|
|
export CROSS_COMPILE AS LD CC CPP AR NM STRIP OBJCOPY OBJDUMP MAKE
|
|
export TEXT_BASE PLATFORM_CPPFLAGS PLATFORM_RELFLAGS CPPFLAGS CFLAGS AFLAGS
|
|
|
|
#########################################################################
|
|
|
|
%.s: %.S
|
|
$(CPP) $(AFLAGS) -o $@ $(CURDIR)/$<
|
|
%.o: %.S
|
|
$(CC) $(AFLAGS) -c -o $@ $(CURDIR)/$<
|
|
%.o: %.c
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
#########################################################################
|