87 lines
2.5 KiB
Makefile
87 lines
2.5 KiB
Makefile
#
|
|
# Makefile to make IDE Modules
|
|
#
|
|
|
|
DIAGDEPTH=../..
|
|
include $(DIAGDEPTH)/Makedefs
|
|
|
|
# Set LDADDRS
|
|
TLOADADDR=-T $(TEXTSTART) -D $(DATASTART)
|
|
LDADDRS=$(TLOADADDR)
|
|
LDRELOC= -shared #-call_shared
|
|
|
|
# blank means shared ...
|
|
SHARE_COPT=
|
|
|
|
# make sure there is no text/data overlap and bss does not overflow
|
|
TEXTSTART= 89000000
|
|
DATASTART= 89A00000
|
|
|
|
LLDOPTS=$(CPUARCH_MI_LDOPTS) -e start_module -m $(LDADDRS) #-ignore_unresolved
|
|
|
|
MODULE= module_cpu
|
|
MODULE_CMDS= cpu_diagcmds
|
|
MODULE_SCRIPT= $(MODULE)_script
|
|
|
|
GEN_CFILES= ${MODULE}.c ${MODULE_SCRIPT}_code.c
|
|
CFILES= ${GEN_CFILES}
|
|
|
|
COMMON_OBJS= module.o module_asm.o
|
|
|
|
#
|
|
# from fforward
|
|
#
|
|
CACHE_OBJS= cacheasm.M cache_par.M icache.M scache_ecc.M scache.M \
|
|
cachesubs.M r4600sc.M
|
|
|
|
MEM_OBJS= addruniq.M altaccess.M binarybit.M blk.M butterfly.M \
|
|
checker.M diagram.M dmuxfix.M dram2_diag.M dram_diag.M \
|
|
kh.M kh_dw.M khdouble.M khlow.M khlow_diag.M khparity.M \
|
|
ldramtest.M march.M marchxy.M mats.M memtest.M memtest2.M \
|
|
memutil.M misc_s.M movi.M new3bit.M parasm.M parcheck.M \
|
|
pargenlog.M parity.M parreg.M private.M shift_dram.M \
|
|
tb_test.M threebit.M walkingbit.M
|
|
|
|
TLB_OBJS= global.M mem.M mod.M nocache.M pid.M probe.M purge.M translate.M \
|
|
valid.M utlb_miss.M tlbtest.M
|
|
|
|
OBJS= busy.M chg_volt.M duart_lpbk.M eisa_reg.M hpc3_fifo.M hpc3_reg.M int2_mask.M msg_printf.M nvrm_addr.M nvrm_data.M nvrm_id.M nvrm_pins.M passwd_jumper.M plp_lpbk.M plp_mwrite.M plp_write.M rt_clock.M scsi.M scsi_diag.M scsi_xcise.M status.M timer.M wd95a_regs.M
|
|
|
|
TEST_OBJS= $(CACHE_OBJS) $(MEM_OBJS) $(TLB_OBJS) $(OBJS)
|
|
|
|
# dirt to clean up ...
|
|
LDIRT= $(LLDIRT); \
|
|
if [ -d $(TARGETDIR) ]; then cd $(TARGETDIR); rm -f $(OBJECTS); fi
|
|
LLDIRT= ${GEN_CFILES}
|
|
|
|
# default rule
|
|
default: $(MODULE)
|
|
|
|
# rule for actual module binary
|
|
${MODULE}: $(OBJECTS) $(COMMON_OBJS)
|
|
${NEWVERS} ${MODULE} ${RELEASE} "${CPUBOARD} IDE $(@)" > $(@:=_version.c)
|
|
${CCF} -c $(@:=_version.c) -o $(TARGETDIR)/$(@:=_version.o)
|
|
rm -f $(@:=_version.c)
|
|
cd $(TARGETDIR); $(LD) ${LDRELOC} -no_unresolved -wall -o $(@) ${LDOPTS} ${OBJECTS} $(COMMON_OBJS) $(@:=_version.o) $(TEST_OBJS) > $(@).map
|
|
|
|
|
|
# rule for making command .c file
|
|
${MODULE}.c: ${MODULE_CMDS}
|
|
nawk -F' ' -f ../../builtins.awk TBL=diagcmds \
|
|
${MODULE_CMDS} > C$$$$.o && mv C$$$$.o $@
|
|
|
|
# rule for making script .c file
|
|
${MODULE_SCRIPT}_code.c: ${MODULE_SCRIPT}
|
|
sed 's/"/\\"/g' $? | sed '/^#/d' | awk -f module_startup.awk > $@
|
|
|
|
# make debug
|
|
print:
|
|
@ echo OBJECTS $(OBJECTS)
|
|
|
|
|
|
# more standard rules
|
|
# include $(DIAGDEPTH)/Makerules
|
|
|
|
# more common rules
|
|
include $(DIAGDEPTH)/../commonrules
|