📄 makefile
字号:
# File: bsps/Makefile# Purpose: Makefile for bsps directory# Author: Phil Bunce (pjb@carmel.com)# Revision History:# 981031 Start of revision historyinclude $(LSIPKG)/defines.mkDRIVERS = d4001.c d4003.c d4011.c d4101.c d4102.cSUPPORT1 = iceif.c printd.c imon.cSUPPORT2 = 400x.c 401x.cKERNELS = k4001.sOTHERS = Makefile iceif.h README accesstst.s defs.h i4102.sTARGETS4101 = k4101 d4101TARGETS4011 = k4011 d4011 k4011-4kTARGETS4102 = k4102 d4102 i4102TARGETS64388 = k64388ALLTARGETS = $(TARGETS4101) $(TARGETS4011) $(TARGETS4102) \ $(TARGETS64388) accesstst.ocm accesstst.oALLTARGS = k4101.x d4101.x k4011.x d4011.x k4011-4k.x k4102.x d4102.x \ k64388.xALLENVS = pmon 4101 4101-rom 4102 4102-rom 4011 4011-rom 64388ALLOBJS = $(DVROBJS) $(DRIVERS:.c=.o) $(DRIVERS:.c=) $(KERNELS:.s=) \ $(KERNELS:.s=.o) $(SUPPORT1:.c=.o) $(SUPPORT2:.c=.o) mxops.o \ vers.onothing: @echo Please specify the intended execution environment. @echo "usage: make <env>" @echo envs: all 4101 4011 4102 64388all: 4101 4011 4102 64388# These 2 targets are really just intended for testing.allbe : be.flg $(MAKE) TFLAG=-EB $(ALLENVS)allle : le.flg $(MAKE) TFLAG=-EL $(ALLENVS)clean: @$(RMF) $(ALLOBJS:.o=.rec) $(ALLOBJS) $(ALLTARGETS) \ $(ALLTARGS:.x=.rec) $(ALLTARGS:.x=.tmp) $(ALLTARGS:.x=.lk) \ $(ALLTARGS:.x=.map) $(ALLTARGS:.x=.o) be.flg le.flgCFILES = $(DRIVERS) $(SUPPORT1) $(SUPPORT2) $(CSTARTUP)ASFILES = $(KERNELS) $(ASSTARTUP)TL = $(LSIPKG)/tape.lsttape: revhistory @mklst bsps $(CFILES) $(ASFILES) $(OTHERS) version >> $(TL)be.flg le.flg : $(MAKE) clean @echo "$@" > $@zipfile: csh -c zip `dt '+%y%m%d%H'`.zip $(CFILES) $(ASFILES) $(OTHERS) \ version mbd.c kmbd.s feaccess.snewrev: @newversion $(NVSW)revhistory : $(CFILES) $(ASFILES) $(OTHERS) @newversion $(NVSW)depend: @csh -c makedepend -I$(LSIPKG)/include -DPMCC $(CFILES) \ $(ASFILES) @perl $(FIXDEPENDS) Makefile###### for kernelsKERNLINK = $(TFLAG) -crt0 -prom -syms -T bfc00000# The bfc00000 has been chosen because it will force the kernel# code (in ROM) to run from non-cacheable space. This is required because# the kernel doesn't flush the caches. It has no data or bss sections.###### for driversDVROBJS = $(SUPPORT1:.c=.o) mxops.o vers.oDVRFLAGS = $(TFLAG) -driver -srec4011 : $(TARGETS4011)4101 : $(TARGETS4101)4102 : $(TARGETS4102)64388 : $(TARGETS64388)pmon 4101-rom 4011-rom 4102-rom : @echo The programs in this directory cannot be built for $@.################### kernelsk4001 : k4001.s pmcc $(KERNLINK) -o $@ k4001.sk4101 : ../lib/k4101.s pmcc $(KERNLINK) -o $@ ../lib/k4101.sk4011 : ../lib/k4011.s pmcc $(KERNLINK) -o $@ ../lib/k4011.sk4011-4k : ../lib/k4011.s pmcc $(KERNLINK) -DR4KEXCEPTIONS -o $@ ../lib/k4011.sk4102 : ../lib/k4102.s pmcc $(KERNLINK) -o $@ ../lib/k4102.sk64388 : ../lib/k64388.s pmcc $(KERNLINK) -o $@ ../lib/k64388.s#################### driversd4001 : $(DVROBJS) d4001.o 400x.o pmcc $(DVRFLAGS) -o $@ $(DVROBJS) d4001.o 400x.od4003 : $(DVROBJS) d4003.o 400x.o pmcc $(DVRFLAGS) -o $@ $(DVROBJS) d4003.o 400x.od4011 : $(DVROBJS) d4011.o 401x.o pmcc $(DVRFLAGS) -o $@ $(DVROBJS) d4011.o 401x.od4101 : $(DVROBJS) d4101.o 400x.o pmcc $(DVRFLAGS) -o $@ $(DVROBJS) d4101.o 400x.od4102 : $(DVROBJS) d4102.o 400x.o pmcc $(DVRFLAGS) -o $@ $(DVROBJS) d4102.o 400x.o#################### access routine example# an ocm access routine for serialice1.dllaccesstst.ocm : ../accesstst.s pmcc $(TFLAG) -crt0 -o accesstst ../accesstst.s $(RMF) accesstst.o accesstst.map accesstst accesstst.tmp rdsrec -m accesstst.rec > accesstst.ocm $(RMF) accesstst.rec accesstst.lk# an ocm access routine for IMON driveraccesstst.o : ../accesstst.s pmcc $(TFLAG) -c -DLABEL=accesstst ../accesstst.s#################### ejtag init modulesi4102 : i4102.s pmcc -crt0 -T 0 -o $@ i4102.s#################### filesmxops.o : ../mon/mxops.c pmcc $(TFLAG) -G 0 -c -o $@ ../mon/mxops.cvers.c : version mkmsg vers -f version > vers.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -