📄 makefile
字号:
# ********************************************************************## Makefile used for building YAMON.# # After adapting the "Environment specifics" section of this makefile# (see below), the makefile may be used in the specific build # environment.## Note, that this makefile uses forward slashes '/' for directory# references.## The default target (all) builds YAMON in two formats :## yamon-<rev>.fl : The YAMON image used for loading YAMON to a# target board using the parallel port.## yamon-<rev>.bin : The YAMON image (binary) used for programming# an (E)PROM.## Other targets are : ## install : Creates the necessary directories and# builds the tools needed for the main build.# clean : Deletes all files generated by makefile.# depend : Builds dependency files.# dis : Generates disassembly files :# reset-<rev>.dis# EL/yamon-<rev>_el.dis# EB/yamon-<rev>_eb.dis# release : First deletes all files generated by makefile (make clean).# Then builds YAMON images (make all).# Then generates disassembly files (make dis).## ********************************************************************## mips_start_of_legal_notice# # Copyright (c) 2004 MIPS Technologies, Inc. All rights reserved.### Unpublished rights (if any) reserved under the copyright laws of the# United States of America and other countries.## This code is proprietary to MIPS Technologies, Inc. ("MIPS Technologies").# Any copying, reproducing, modifying or use of this code (in whole or in# part) that is not expressly permitted in writing by MIPS Technologies or# an authorized third party is strictly prohibited. At a minimum, this code# is protected under unfair competition and copyright laws. Violations# thereof may result in criminal penalties and fines.## MIPS Technologies reserves the right to change this code to improve# function, design or otherwise. MIPS Technologies does not assume any# liability arising out of the application or use of this code, or of any# error or omission in such code. Any warranties, whether express,# statutory, implied or otherwise, including but not limited to the implied# warranties of merchantability or fitness for a particular purpose, are# excluded. Except as expressly provided in any written license agreement# from MIPS Technologies or an authorized third party, the furnishing of# this code does not give recipient any license to any intellectual property# rights, including any patent rights, that cover this code.## This code shall not be exported, reexported, transferred, or released,# directly or indirectly, in violation of the law of any country or# international law, regulation, treaty, Executive Order, statute,# amendments or supplements thereto. Should a conflict arise regarding the# export, reexport, transfer, or release of this code, the laws of the# United States of America shall be the governing law.## This code constitutes one or more of the following: commercial computer# software, commercial computer software documentation or other commercial# items. If the user of this code, or any related documentation of any kind,# including related technical data or manuals, is an agency, department, or# other entity of the United States government ("Government"), the use,# duplication, reproduction, release, modification, disclosure, or transfer# of this code, or any related documentation of any kind, is restricted in# accordance with Federal Acquisition Regulation 12.212 for civilian# agencies and Defense Federal Acquisition Regulation Supplement 227.7202# for military agencies. The use of this code by the Government is further# restricted in accordance with the terms of the license agreement(s) and/or# applicable contract terms and conditions covering this code from MIPS# Technologies or an authorized third party.#### # mips_end_of_legal_notice# ## ********************************************************************# ********************************************************************# Environment specifics.## These (down to and including BSS_OLD, see below) are the only # things, you have to adapt to your specific environment.# ********************************************************************# Tool-chain used for compilation of target code (cygnus or sde).TOOLCHAIN = sdeifeq ($(TOOLCHAIN),cygnus)# version 2.96CC = mipsisa32-elf-gccLD = mipsisa32-elf-ldOBJCOPY = mipsisa32-elf-objcopyOBJDUMP = mipsisa32-elf-objdumpendififeq ($(TOOLCHAIN),sde)# sde version 4.1sb (gcc version 2.96)CC = sde-gccLD = sde-ldOBJCOPY = sde-objcopyOBJDUMP = sde-objdumpendif# Perl interpreterPERL = perl# Shell commandsRM = rmCD = cdMKDIR = mkdirECHO = echoCAT = cat# tags commandTAGS = etags# ********************************************************************# Different assemblers have different requirements for how to# indicate that the next section is bss :## Some use : .bss# Others use : .section bss## We select which to use based on whether symbol BSS_OLD is 0 or not.# # BSS_OLD = 0 : .bss # BSS_OLD != 0 : .section bss# ********************************************************************BSS_OLD = 0# ********************************************************************# Revision# ********************************************************************REVMAJ = 02REVMIN = 06# ********************************************************************# Target prefix.# ********************************************************************IMAGE_BASENAME = yamonIMAGENAME = $(IMAGE_BASENAME)-$(REVMAJ).$(REVMIN)RESET = reset-$(REVMAJ).$(REVMIN)# ********************************************************************# Target filenames for little and big endian code.# ********************************************************************SREC_EL = $(IMAGENAME)_el.recELF_EL = $(IMAGENAME)_el.elfMAP_EL = $(IMAGENAME)_el.mapDIS_EL = $(IMAGENAME)_el.disSREC_EB = $(IMAGENAME)_eb.recELF_EB = $(IMAGENAME)_eb.elfMAP_EB = $(IMAGENAME)_eb.mapDIS_EB = $(IMAGENAME)_eb.dis# ********************************************************************# Make calls itself recursively in order to build the little- and # big-endian images.# If ENDIAN is defined, this is such a recursive call.# ********************************************************************ifdef ENDIAN# Setup the definitions required to build the little- or# big-endian image (from directory bin/EL or bin/EB).# Root directory of YAMON source code.ROOT = ./../..# Directory where make is supposed to be invoked.MAKEDIR = ./..# Directory where linker scripts reside.LINKDIR = $(MAKEDIR)/link# Directories holding the source files.SRCDIR = \ $(ROOT)/arch/reset \ $(ROOT)/init \ $(ROOT)/pci \ $(ROOT)/exception \ $(ROOT)/io \ $(ROOT)/load \ $(ROOT)/net \ $(ROOT)/shell \ $(ROOT)/sysenv \ $(ROOT)/env \ $(ROOT)/lib \ $(ROOT)/sys \ $(ROOT)/sys/cpu \ $(ROOT)/syscon \\ $(ROOT)/drivers/eeprom \ $(ROOT)/drivers/flash \ $(ROOT)/drivers/iic \ $(ROOT)/drivers/rtc \ $(ROOT)/drivers/serial \ $(ROOT)/drivers/lan \ $(ROOT)/drivers/ide \\ $(ROOT)/arch/env/platform \ $(ROOT)/arch/exception/platform \ $(ROOT)/arch/isa/platform \ $(ROOT)/arch/shell/platform \ $(ROOT)/arch/shell/cpu \ $(ROOT)/arch/sys/platform \\ $(ROOT)/arch/syscon/platform \ $(ROOT)/arch/syscon/platform/core \ $(ROOT)/arch/freq/platform \ $(ROOT)/arch/freq/platform/core \ $(ROOT)/arch/init/platform \ $(ROOT)/arch/init/platform/core \ $(ROOT)/arch/pci/platform \ $(ROOT)/arch/pci/platform/core \\ $(ROOT)/arch/sys/cpu \ $(ROOT)/arch/syscon/cpuifeq ($(ENDIAN),EB)# Linker script.ifdef SIMULATELD_SCRIPT = $(LINKDIR)/link_eb_sim.xnelseLD_SCRIPT = $(LINKDIR)/link_eb.xnendif# Various filenames.IMAGE_SREC = ./$(SREC_EB)IMAGE_DIS = ./$(DIS_EB)IMAGE_ELF = ./$(ELF_EB)IMAGE_MAP = ./$(MAP_EB)FPUEMUL = $(ROOT)/fpuemul/EB/fpuemul_eb.elf# Limit for image (look in deleteall.fl for current value)MAX_ADDRESS = 9fce0000else # EL# Linker script.ifdef SIMULATELD_SCRIPT = $(LINKDIR)/link_el_sim.xnelseLD_SCRIPT = $(LINKDIR)/link_el.xnendif# Various filenames.IMAGE_SREC = ./$(SREC_EL)IMAGE_DIS = ./$(DIS_EL)IMAGE_ELF = ./$(ELF_EL)IMAGE_MAP = ./$(MAP_EL)FPUEMUL = $(ROOT)/fpuemul/EL/fpuemul_el.elf
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -