📄 makefile
字号:
#***********************************************************************/
#* */
#* Copyright 1998 - 2001, Baud Data Communication, Ltd. */
#* ALL RIGHTS RESERVED */
#* */
#* Permission is hereby granted to licensees of Integrated Systems, */
#* Inc. products to use or abstract this computer program for the */
#* sole purpose of implementing a product based on Integrated */
#* Systems, Inc. products. No other rights to reproduce, use, */
#* or disseminate this computer program, whether in part or in */
#* whole, are granted. */
#* */
#* Baud Data Communication, Ltd. makes no representation or warranties*/
#* with respect to the performance of this computer program, and */
#* specifically disclaims any responsibility for any damages, */
#* special or consequential, connected with the use of this program. */
#* */
#*---------------------------------------------------------------------*/
#* */
#* MODULE NAME : Board Support Packet (BSP) */
#* FILE NAME : bsps/8560/src/makefile */
#* AUTHOR : xujiasheng */
#* DATE : 2004/05/28 */
#* PURPOSE : Makefile for the board specific library. */
#* */
#***********************************************************************/
include $(CFGS_DIR)/defs.default
include $(CFGS_DIR)/tool/diab/make.$(CPU)$(TOOL)
include $(CFGS_DIR)/defs.$(WIND_HOST_TYPE)
#-----------------------------------------------------------------------
# PSS_REL_LEVEL is used in $(SNIFF_MAKE_CMD).mk file to re-define
# PSS_ROOT using relative paths. This is required by the SNiFF+ build
# environment to implement workspace over-riding.
#-----------------------------------------------------------------------
#PSS_REL_LEVEL=../../..
PSS_REL_LEVEL=$(ROUTER_BASE)
CSR_BASE=$(ROUTER_BASE)/ixp400_xscale_sw
############
PSS_ROOT=$(ROUTER_BASE)
PSS_BSP=$(PSS_ROOT)/bsps/ixp425
MAKEFILE=
#makefile
#GEN_LISTING_FILES= -W:as:,-l -Xpass-source
OBJ_DIR= diabobj/
ROUTER_TYPE=ixp425
EXTRA_INCLUDE= -I$(ROUTER_BASE)/include -I$(ROUTER_BASE)/apps/$(ROUTER_TYPE) \
-I$(ROUTER_BASE)/bsps/$(ROUTER_TYPE)/src -I$(CSR_BASE)/src/include \
-I$(ROUTER_BASE)/bsps/ixp425 -D__vxworks -I$(ROUTER_BASE)/bsps/ixp425/all
LOCAL_OBJS = $(OBJ_DIR)board.o \
$(OBJ_DIR)sysinit.o
ifeq ($(findstring diab,$(TOOL)),diab)
POWERPC_OBJS = $(OBJ_DIR)pcisetup.o \
$(OBJ_DIR)pciwalk.o \
$(OBJ_DIR)pcidump.o \
$(OBJ_DIR)pciinfo.o \
$(OBJ_DIR)pcimng.o \
$(OBJ_DIR)pcimem.o \
$(OBJ_DIR)pcicfgrw.o \
$(OBJ_DIR)pci.o \
$(OBJ_DIR)ds1747rtc.o \
$(OBJ_DIR)cputype.o \
$(OBJ_DIR)util.o \
$(OBJ_DIR)excArchLib.o \
# $(OBJ_DIR)intALib.o
# $(OBJ_DIR)reg_rw.o \
# $(OBJ_DIR)i2c.o \
# $(OBJ_DIR)tmbutils.o \
# $(OBJ_DIR)mmudae.o \
# $(OBJ_DIR)mmuiae.o \
# $(OBJ_DIR)mmuliba.o \
# $(OBJ_DIR)rtc.o
else
ifeq ($(findstring gnu,$(TOOL)),gnu)
POWERPC_OBJS = $(OBJ_DIR)pcisetup.o \
$(OBJ_DIR)pciwalk.o \
$(OBJ_DIR)pcidump.o \
$(OBJ_DIR)pciinfo.o \
$(OBJ_DIR)pcimng.o \
$(OBJ_DIR)pcimem.o \
$(OBJ_DIR)pcicfgrw.o \
$(OBJ_DIR)pci.o \
$(OBJ_DIR)util.o \
$(OBJ_DIR)rtc.o
endif
endif
# $(OBJ_DIR)sysexcp.o \
# $(OBJ_DIR)cache60x.o \
# $(OBJ_DIR)decrmntr.o \
# $(OBJ_DIR)isr_a.o \
# $(OBJ_DIR)mmudae.o \
# $(OBJ_DIR)mmuiae.o \
# $(OBJ_DIR)vector.o \
# $(OBJ_DIR)vectors.o \
# $(OBJ_DIR)pmtmbase.o \
# $(OBJ_DIR)ppcfpini.o \
# $(OBJ_DIR)cpciirq.o \
# $(OBJ_DIR)cmnisr.o \
# $(OBJ_DIR)saferw.o \
# $(OBJ_DIR)mmuliba.o \
DEVICES_OBJS = $(OBJ_DIR)flash.o \
$(OBJ_DIR)ds1338rtc.o \
$(OBJ_DIR)pc16x50.o \
$(OBJ_DIR)ixp400eth.o \
$(OBJ_DIR)bcm5325e.o
# $(OBJ_DIR)synoct.o \
# $(OBJ_DIR)m360.o \
# $(OBJ_DIR)m360s.o \
# $(OBJ_DIR)m360lan.o \
# $(OBJ_DIR)m360isdn.o \
# $(OBJ_DIR)am973p.o \
# $(OBJ_DIR)am973srom.o \
# $(OBJ_DIR)rwE1.o \
# $(OBJ_DIR)DS31256.o \
# $(OBJ_DIR)NM16E1.o \
# $(OBJ_DIR)DSE3.o \
# $(OBJ_DIR)DS_T1.o \
# $(OBJ_DIR)motTsec.o \
# $(OBJ_DIR)fcc6xx.o \
# $(OBJ_DIR)stm1.o \
# $(OBJ_DIR)pc16x50.o \
# $(OBJ_DIR)pos.o \
# $(OBJ_DIR)sun1x155.o \
# $(OBJ_DIR)escc8.o \
# $(OBJ_DIR)synoct.o \
# $(OBJ_DIR)xr17d158.o
# $(OBJ_DIR)flash.o \
# $(OBJ_DIR)rwE1.o \
# $(OBJ_DIR)modem.o \
# $(OBJ_DIR)escc8.o \
# $(OBJ_DIR)isdn_4.o \
# $(OBJ_DIR)m360isdn.o \
PUBLIC_OBJS = $(OBJ_DIR)hw_arch.o \
$(OBJ_DIR)bsp_ver.o \
$(OBJ_DIR)bsp_com.o \
$(OBJ_DIR)bsp_cmd.o \
$(OBJ_DIR)ser_mplx.o \
$(OBJ_DIR)bsp_buf.o \
$(OBJ_DIR)storage.o
# $(OBJ_DIR)dipi.o \
# $(OBJ_DIR)ni_mib.o \
# $(OBJ_DIR)mmulib.o \
# $(OBJ_DIR)ni_mib.o \
#
#####################################################################
# To generate the listing files
# add following options to COPTS_FILE
# -W:as:,-l -Xpass-source
# add following options to AOPTS_FILE
# -l
#####################################################################
#CC = @echo "Making $@\tfrom $<";dcc
COPTS_FILE1 = -O -t$(DTARGET)E$(DFP):psos -Xsmall-data=8 $(GEN_LISTING_FILES)
COPTS_FILE2 = -Xstrict-ansi -D__DIAB -DPPC -DPWRPLUS
COPTS_FILE3 = -I. -I$(PSS_BSP) -I$(PSS_ROOT)/include
COPTS_FILE4 = -I$(PSS_ROOT)/bsps -I$(PSS_ROOT)/bsps/devices $(PSS_VINCLUDE) -I@ -c
#------------------------------------------------------------------------
# COPT_PER_FILE is used to provide a convenient way to add per
# file compile options. If a .cop file for a source file exist then
# content of this file is passed as the compile options.
#------------------------------------------------------------------------
COPT_PER_FILE=`if [ -f ./$(*F).cop ]; then cat ./$(*F).cop; fi`
#------------------------------------------------------------------------
# CFLAGS is used to provide compile option to make code more clear,
# more effective, less waring, more error found.
# Here are some options group used in different environments
# most fast(for RELEASE):
# -Xstrict-ansi -Xkeywords=0xC -Xforce-prototypes -Xlint=0xDE
# most check(for DEBUG):
# -Xstrict-ansi -Xkeywords=0xC -Xforce-prototypes -Xlint=0xFE -Xstruct-best-align=0 -Xno-optimized-debug -Xinit-locals -Xinit-value=165
#------------------------------------------------------------------------
#CFLAGS = -Xstrict-ansi -Xkeywords=0xC -Xlint=0xDE -Xforce-prototypes
#CFLAGS = -Xstrict-ansi -Xkeywords=0xC -Xlint=0xDE -Xforce-prototypes -Xno-optimized-debug -g
#CFLAGS = -Xstrict-ansi -Xkeywords=0xC -Xforce-prototypes -Xlint=0xD4 -Xstruct-best-align=0 -Xinit-locals -Xinit-value=165
#CFLAGS = -Xstrict-ansi -Xkeywords=0xC -Xforce-prototypes -Xlint=0xD4 -Xstruct-best-align=0 -Xno-optimized-debug -Xinit-locals -Xinit-value=165
CFLAGS += -DROUTER_OS_VXWORKS
#COPTS = -@c.opt $(COPT_PER_FILE)
COPTS = $(CFLAGS) -c
#LB = dar
AS = $(CC)
AOPTS_FILE1 = -t$(DTARGET)E$(DFP):psos
AOPTS_FILE2 = -I. -I$(PSS_BSP) -I$(PSS_ROOT)/include
AOPTS_FILE3 = -I$(PSS_ROOT)/bsps/devices $(PSS_VINCLUDE) -I@
#AOPTS = -@a.opt $(COPT_PER_FILE)
AOPTS = $(CFLAGS_AS)
XTRAOPTS = -c
SRC_OBJS = $(LOCAL_OBJS) $(PUBLIC_OBJS) $(DEVICES_OBJS)
#SRC_OBJS = $(OBJ_DIR)board.o #for test makefile
all: $(ROUTER_BASE)/apps/libdiab/libbsp.a
####################################### original
#../libbsp.a: create_obj_dir a.opt c.opt l.opt $(SRC_OBJS)
# @rm -f ../libbsp.a
# $(LB) r ../libbsp.a -@l.opt
# @rm -f a.opt c.opt l.opt
#######################################
$(ROUTER_BASE)/apps/libdiab/libbsp.a: a.opt c.opt l.opt $(SRC_OBJS)
$(AR) crs $@ $(SRC_OBJS)
# $(LD) r ../libbsp.a $(SRC_OBJS)
create_obj_dir:
@mkdir -p $(OBJ_DIR)
clean:
@rm -f $(OBJ_DIR)/*.o *.opt ../libbsp.a
@rm -f $(ROUTER_BASE)/apps/libdiab/libbsp.a
a.opt: makefile
@echo $(AOPTS_FILE1) > a.opt
@echo $(AOPTS_FILE2) >> a.opt
@echo $(AOPTS_FILE3) >> a.opt
c.opt: makefile
@echo $(COPTS_FILE1) > c.opt
@echo $(COPTS_FILE2) >> c.opt
@echo $(COPTS_FILE3) >> c.opt
@echo $(COPTS_FILE4) >> c.opt
create_opt_files: c.opt a.opt
l.opt: makefile
@echo $(LOCAL_OBJS) > l.opt
@echo $(POWERPC_OBJS) >> l.opt
@echo $(DRIVERS_OBJS) >> l.opt
@echo $(CHIP_OBJS) >> l.opt
#
#------------------------------------------------------------------------
# Rules for building $(LOCAL_OBJS)
#------------------------------------------------------------------------
$(OBJ_DIR)board.o: board.c \
bsp.h board.h
$(CC) $(COPTS) $(CFLAGS) $(XTRAOPTS) -o $(OBJ_DIR)board.o $<
$(OBJ_DIR)sysinit.o: sysinit.c \
bsp.h board.h
$(CC) $(COPTS) $(CFLAGS) $(XTRAOPTS) -o $(OBJ_DIR)sysinit.o $<
$(OBJ_DIR)bspcfg.o: bspcfg.c \
bsp.h board.h
$(CC) $(COPTS) $(CFLAGS) $(XTRAOPTS) -o $(OBJ_DIR)bspcfg.o $<
$(OBJ_DIR)bpdialog.o: bpdialog.c \
bsp.h bsplocal.h board.h $(MAKEFILE)
$(CC) $(COPTS) -o $(OBJ_DIR)bpdialog.o $<
$(OBJ_DIR)epic.o: epic.c \
bsp.h board.h kahlua.h epic.h $(MAKEFILE)
$(CC) $(COPTS) -o $(OBJ_DIR)epic.o $<
$(OBJ_DIR)init.o: init.s \
$(MAKEFILE)
$(AS) $(AOPTS) -o $(OBJ_DIR)init.o $<
$(OBJ_DIR)isr.o: isr.c \
bsp.h board.h $(MAKEFILE)
$(CC) $(COPTS) -o $(OBJ_DIR)isr.o $<
$(OBJ_DIR)kahlua.o: kahlua.c \
board.h kahlua.h $(MAKEFILE)
$(CC) $(COPTS) -o $(OBJ_DIR)kahlua.o $<
$(OBJ_DIR)abort.o: abort.s \
$(MAKEFILE)
$(AS) $(AOPTS) -o $(OBJ_DIR)abort.o $<
$(OBJ_DIR)mmu.o: mmu.c \
bsp.h board.h $(MAKEFILE)
$(CC) $(COPTS) -o $(OBJ_DIR)mmu.o $<
$(OBJ_DIR)mpc106a.o: mpc106a.s \
$(MAKEFILE)
$(AS) $(AOPTS) -o $(OBJ_DIR)mpc106a.o $<
$(OBJ_DIR)mpc106sz.o: mpc106sz.s \
$(MAKEFILE)
$(AS) $(AOPTS) -o $(OBJ_DIR)mpc106sz.o $<
$(OBJ_DIR)pc87308.o: pc87308.s \
$(MAKEFILE)
$(AS) $(AOPTS) -o $(OBJ_DIR)pc87308.o $<
$(OBJ_DIR)resetvec.o: resetvec.s \
$(MAKEFILE)
$(AS) $(AOPTS) -o $(OBJ_DIR)resetvec.o $<
$(OBJ_DIR)getmpuda.o: getmpuda.s \
$(MAKEFILE)
$(AS) $(AOPTS) -o $(OBJ_DIR)getmpuda.o $<
$(OBJ_DIR)getmpud.o: getmpud.c \
$(MAKEFILE)
$(CC) $(COPTS) -o $(OBJ_DIR)getmpud.o $<
$(OBJ_DIR)l2.o: l2.c \
$(MAKEFILE)
$(CC) $(COPTS) -o $(OBJ_DIR)l2.o $<
$(OBJ_DIR)l2a.o: l2a.s \
$(MAKEFILE)
$(AS) $(AOPTS) -o $(OBJ_DIR)l2a.o $<
$(OBJ_DIR)rawio.o: rawio.s \
$(MAKEFILE)
$(AS) $(AOPTS) -o $(OBJ_DIR)rawio.o $<
$(OBJ_DIR)pcicfg.o: pcicfg.c \
$(MAKEFILE) board.h \
$(PSS_ROOT)/bsps/devices/pci/pcihdr.h
$(CC) $(COPTS) -o $(OBJ_DIR)pcicfg.o $<
#
#------------------------------------------------------------------------
# Rules for building the BSP Dispatcher file for Shared Library
#------------------------------------------------------------------------
#
#
#------------------------------------------------------------------------
# Rules for building $(POWERPC_OBJS)
#------------------------------------------------------------------------
#
#include ../bsp.mk
#
#------------------------------------------------------------------------
# Rules for building $(CHIP_OBJS)
#------------------------------------------------------------------------
-include $(ROUTER_BASE)/bsps/pub/rules.mk
-include $(PSS_ROOT)/bsps/devices/rules.mk
-include $(PSS_ROOT)/bsps/devices/powerpc/rules.mk
#
#------------------------------------------------------------------------
# Rules for building $(PUBLIC_OBJS)
#------------------------------------------------------------------------
PSS_CONFIG=$(PSS_ROOT)/configs/std
#-----------------------------------------------------------------------
# $(SNIFF_MAKE_CMD).mk implemets the SNiFF+ workspace over-riding.
# For non SNiFF+ build following include statement has no effect.
#-----------------------------------------------------------------------
#include $(PSS_CONFIG)/$(SNIFF_MAKE_CMD).mk
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -