NT4/private/ntos/fw/alpha/jensen/makefile.inc
2020-09-30 17:12:29 +02:00

424 lines
9.5 KiB
PHP

!IF $(ALPHA)
#
# NT/Alpha AXP Firmware
#
alpha\palcode\fw: obj\alpha\jensfw.exe \
alpha\palcode\fwimagen.exe \
alpha\palcode\fwpack.exe \
alpha\palcode\fwpal.nh
anm obj\alpha\jensfw.exe > obj\alpha\jensfw.sym
strip -m -s 80704000 -o obj\alpha\jensfw.str obj\alpha\jensfw.exe
cd alpha\palcode
fwimagen fwpal.nh ..\..\obj\alpha\jensfw.str fw
cd ..\..
#
# These are the inference and dependency rules for making a
# copy of a file from the common area to the platform build area so
# it can be compiled.
#
# Because of a deficiency in nmake, the inference rules do not work
# if the target file (the copy in jensen\alpha) does not already exist.
# As a remedy, there are null explicit dependency rules for each
# local target of a common file.
#
# The copies are made readonly to reduce the
# likelyhood of accidently editing the copy instead of the original
# in the common area.
#
alpha\bldrstub.c:
alpha\conftest.c:
alpha\eisafunc.c:
alpha\eisaini.c:
alpha\eisamisc.c:
alpha\eisapod.c:
alpha\eisausa.c:
alpha\fakebldr.c:
alpha\fwchkstk.s:
alpha\fwkd.c:
alpha\fwhalt.c:
alpha\fwio.c:
alpha\fwload.c:
alpha\fwprint.c:
alpha\fwrstb.c:
alpha\fwsignal.c:
alpha\fwtime.c:
alpha\fwupusa.c:
alpha\fwusa.c:
alpha\jenassem.s:
alpha\jenfonts.c:
alpha\jnfsinit.c:
alpha\jnfsstb.c:
alpha\jnfsstub.s:
alpha\jnsetcom.c:
alpha\jnsetenv.c:
alpha\jnsetmak.c:
alpha\jnsetset.c:
alpha\jnsettim.c:
alpha\jnupass.s:
alpha\jnupdate.c:
alpha\jnupstub.c:
alpha\jxboot.c:
alpha\jxconfig.c:
alpha\jxdisp.c:
alpha\jxenvir.c:
alpha\jxfboot.c:
alpha\jxhwsup.c:
alpha\jxkbd.c:
alpha\jxreboot.c:
alpha\jxserial.c:
alpha\jxsysid.c:
alpha\jxvendor.c:
alpha\kbdtest.c:
alpha\kdstubs.c:
alpha\monitor.c:
alpha\omf.c:
alpha\rom.c:
alpha\stubs.c:
{..}.s{alpha}.s:
attrib -r $@ > nul 2>&1
copy $** $@
attrib +r $@
{..}.c{alpha}.c:
attrib -r $@ > nul 2>&1
copy $** $@
attrib +r $@
obj\alpha\jensfw.exe: obj\alpha\selftest.obj \
obj\alpha\jenstubs.obj \
obj\alpha\eisafunc.obj \
obj\alpha\aha174x.obj \
obj\alpha\eisaini.obj \
obj\alpha\fwkd.obj \
obj\alpha\kdstubs.obj \
obj\alpha\bldrstub.obj \
obj\alpha\fwusa.obj \
obj\alpha\eisausa.obj \
obj\alpha\eisamisc.obj \
obj\alpha\eisapod.obj \
obj\alpha\fwio.obj \
obj\alpha\fwchkstk.obj \
obj\alpha\fwload.obj \
obj\alpha\fwprint.obj \
obj\alpha\fwhalt.obj \
obj\alpha\fwrstb.obj \
obj\alpha\fwsignal.obj \
obj\alpha\xxstring.obj \
obj\alpha\fwtime.obj \
obj\alpha\jenassem.obj \
obj\alpha\jenfonts.obj \
obj\alpha\jnsetcfg.obj \
obj\alpha\jnsetcom.obj \
obj\alpha\jnsetenv.obj \
obj\alpha\jnsetmak.obj \
obj\alpha\jnsetset.obj \
obj\alpha\jnsettim.obj \
obj\alpha\jxboot.obj \
obj\alpha\jxconfig.obj \
obj\alpha\jxdisp.obj \
obj\alpha\jxenvir.obj \
obj\alpha\jxfboot.obj \
obj\alpha\jxhwsup.obj \
obj\alpha\jxkbd.obj \
obj\alpha\jxmemory.obj \
obj\alpha\jxreboot.obj \
obj\alpha\jxserial.obj \
obj\alpha\jxsysid.obj \
obj\alpha\jxvendor.obj \
obj\alpha\kbdtest.obj \
obj\alpha\monitor.obj \
obj\alpha\rom.obj \
obj\alpha\omf.obj \
obj\alpha\stubs.obj \
obj\alpha\tbaqva.obj \
.\linkjens.rsp
link -machine:alpha -out:obj\alpha\jensfw.exe @linkjens.rsp
#
# FailSafe Booter
#
alpha\palcode\fsb: obj\alpha\fsb.exe \
alpha\palcode\fwimagen.exe \
alpha\palcode\fwpack.exe \
alpha\palcode\fwpal.nh
anm obj\alpha\fsb.exe > obj\alpha\fsb.sym
strip -m -s 80704000 -o obj\alpha\fsb.str obj\alpha\fsb.exe
cd alpha\palcode
fwimagen fwpal.nh ..\..\obj\alpha\fsb.str fsb
cd ..\..
obj\alpha\fsb.exe: obj\alpha\jnfs.obj \
obj\alpha\fwusa.obj \
obj\alpha\aha174x.obj \
obj\alpha\jnfsinit.obj \
obj\alpha\fwchkstk.obj \
obj\alpha\jenstubs.obj \
obj\alpha\ffwio.obj \
obj\alpha\fwprint.obj \
obj\alpha\xxstring.obj \
obj\alpha\fjenfont.obj \
obj\alpha\fjnsetcm.obj \
obj\alpha\fjxdisp.obj \
obj\alpha\fjxconfg.obj \
obj\alpha\fjxvendr.obj \
obj\alpha\jnfsstub.obj \
obj\alpha\jnfsstb.obj \
obj\alpha\fwload.obj \
obj\alpha\jxmemory.obj \
obj\alpha\jxhwsup.obj \
obj\alpha\jxkbd.obj \
obj\alpha\jxfboot.obj \
obj\alpha\fwtime.obj \
obj\alpha\fwsignal.obj \
obj\alpha\kbdtest.obj \
obj\alpha\fstubs.obj \
obj\alpha\tbaqva.obj \
obj\alpha\version.obj \
.\linkfsb.rsp
link -machine:alpha -out:obj\alpha\fsb.exe @linkfsb.rsp
obj\alpha\ffwio.obj: alpha\ffwio.c
obj\alpha\fjenfont.obj: alpha\fjenfont.c
obj\alpha\fjnsetcm.obj: alpha\fjnsetcm.c
obj\alpha\fjxconfg.obj: alpha\fjxconfg.c
obj\alpha\fjxdisp.obj: alpha\fjxdisp.c
obj\alpha\fjxvendr.obj: alpha\fjxvendr.c
obj\alpha\fstubs.obj: alpha\fstubs.c
alpha\fjenfont.c: ..\jenfonts.c
attrib -r $@ > nul 2>&1
copy ..\jnfsfsb.h+$** $@
attrib +r $@
alpha\fjnsetcm.c: ..\jnsetcom.c
attrib -r $@ > nul 2>&1
copy ..\jnfsfsb.h+$** $@
attrib +r $@
alpha\ffwio.c: ..\fwio.c
attrib -r $@ > nul 2>&1
copy ..\jnfsfsb.h+$** $@
attrib +r $@
alpha\fjxconfg.c: ..\jxconfig.c
attrib -r $@ > nul 2>&1
copy ..\jnfsfsb.h+$** $@
attrib +r $@
alpha\fjxdisp.c: ..\jxdisp.c
attrib -r $@ > nul 2>&1
copy ..\jnfsfsb.h+$** $@
attrib +r $@
alpha\fjxvendr.c: ..\jxvendor.c
attrib -r $@ > nul 2>&1
copy ..\jnfsfsb.h+$** $@
attrib +r $@
alpha\fstubs.c: ..\stubs.c
attrib -r $@ > nul 2>&1
copy ..\jnfsfsb.h+$** $@
attrib +r $@
#
# Jensen firmware update program
#
obj\alpha\jnupdate.exe: obj\alpha\jnupdate.obj \
obj\alpha\ujnsetcm.obj \
obj\alpha\rom.obj \
obj\alpha\jnupass.obj \
obj\alpha\jnupstub.obj \
obj\alpha\ustubs.obj \
obj\alpha\fwupusa.obj \
obj\alpha\jenstubs.obj \
obj\alpha\version.obj \
obj\alpha\fwchkstk.obj \
.\linkupd.rsp
link -machine:alpha -out:obj\alpha\jnupdate.exe @linkupd.rsp
anm obj\alpha\jnupdate.exe > obj\alpha\jnupdate.sym
obj\alpha\ujnsetcm.obj: alpha\ujnsetcm.c
obj\alpha\ustubs.obj: alpha\ustubs.c
alpha\ujnsetcm.c: ..\jnsetcom.c
attrib -r $@ > nul 2>&1
copy ..\jnupdate.h+$** $@
attrib +r $@
alpha\ustubs.c: ..\stubs.c
attrib -r $@ > nul 2>&1
copy ..\jnupdate.h+$** $@
attrib +r $@
#
# Alpha configuration and memory descriptor diagnostic
#
obj\alpha\conftest.exe: obj\alpha\conftest.obj \
obj\alpha\xxstring.obj \
..\conftest.rsp
link -machine:alpha -out:obj\alpha\conftest.exe @..\conftest.rsp
anm obj\alpha\conftest.exe > obj\alpha\conftest.sym
#
# Alpha osloader diagnostic
#
obj\alpha\fakebldr.exe: obj\alpha\fakebldr.obj \
..\fakebldr.rsp
link -machine:alpha -out:obj\alpha\fakebldr.exe @..\fakebldr.rsp
anm obj\alpha\fakebldr.exe > obj\alpha\fakebldr.sym
#
# PALcode concatenation tool
#
# This is executed on host development machine.
#
# PALCODEINC and PALCODELIB must be changed to point at their respective
# sdk areas on the host machine.
#
PALCODEINC=d:\nt501\nt\public\sdk\inc\crt
PALCODELIB=d:\nt501\nt\public\sdk\lib\alpha
alpha\palcode\fwimagen.exe: ..\tools\fwimagen\fwimagen.c
copy ..\tools\fwimagen\fwimagen.c alpha\palcode\fwimagen.c
cd alpha\palcode
acc -I$(PALCODEINC) -o fwimagen.o fwimagen.c
a2coff fwimagen.o
link -out:fwimagen.exe -subsystem:console -entry:mainCRTStartup \
fwimagen.o $(PALCODELIB)\kernel32.lib $(PALCODELIB)\libcmt.lib $(PALCODELIB)\ntdll.lib
cd ..\..
#
# Alpha/Jensen Firmware update file (JENSFW.BIN) creation tool
# This is executed on host development machine.
#
FWPACKINC=d:\nt501\nt\public\sdk\inc\crt
FWPACKLIB=d:\nt501\nt\public\sdk\lib\alpha
alpha\palcode\fwpack.exe: ..\tools\fwpack\fwpack.c
copy ..\tools\fwpack\fwpack.c alpha\palcode\fwpack.c
cd alpha\palcode
acc -I$(FWPACKINC) -o fwpack.o fwpack.c
a2coff fwpack.o
link -out:fwpack.exe -subsystem:console -entry:mainCRTStartup \
fwpack.o $(FWPACKLIB)\kernel32.lib $(FWPACKLIB)\libcmt.lib $(FWPACKLIB)\ntdll.lib
cd ..\..
#
# A hacked version of fwpack that is used for testing the FailSafe Booter
# code.
#
alpha\palcode\fsbpack.exe: ..\tools\fwpack\fsbpack.c
copy ..\tools\fwpack\fsbpack.c alpha\palcode\fsbpack.c
cd alpha\palcode
acc -I$(FWPACKINC) -o fsbpack.o fsbpack.c
a2coff fsbpack.o
link -out:fsbpack.exe -subsystem:console -entry:mainCRTStartup \
fsbpack.o $(FWPACKLIB)\kernel32.lib $(FWPACKLIB)\libcmt.lib $(FWPACKLIB)\ntdll.lib
cd ..\..
!ENDIF