⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile

📁 这是ARM在Vxworks的驱动源代码
💻
字号:
#***********************************************************************/
#*                                                                     */
#*          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 + -