Files
Arquivotheca.SunOS-4.1.4/sys/boot/sun4c/Makefile
seta75D ff309bfe1c Init
2021-10-11 18:37:13 -03:00

74 lines
2.1 KiB
Makefile

#
# @(#)Makefile 1.1 94/10/31 SMI
#
# Makefile for /boot, boot blocks, and related stand-alone programs
ARCH= sun4c
MACH= sparc
ARCHDIR= ../$(ARCH)
MACHDIR= ../$(MACH)
ARCHOBJ= conf.o trap.o stubs.o
ARCHOPTS= -DSUN4C_60 $(ARCHDEFS)
ARCHDEFS= $(LIBPROMCPPOPTS)
ARCHLIBS= $(LIBPROM)
#
# LOAD is the text segment start for booted user programs.
# It is also used by srt0.s for the initial stack.
#
LOAD= 4000
#
# BRELOC is the text segment start for final stage (2nd or 3rd stage) boots.
# Note that this must be higher than the kernel's edata and should be
# higher than the kernel's bss so the bss can be cleared.
#
BRELOC= 300000
#
# BBRELOC is the text segment start for boot blocks.
# Note that this must be higher than boot's edata and should be
# higher than boot's bss so the bss can be cleared.
#
BBRELOC= 340000
BOOTBLOCKS= bootopen
ALL= boot.$(ARCH) $(BOOTBLOCKS) installboot
all: $(ALL)
include ../boot/Makefile.com
# Special rules for sun4c, which uses a.out executables as its boot programs.
boot.$(ARCH): boot
cp $? $@; strip $@
# Rules for arch-dependent .c files
$$(LIB)(%.o): $(ARCHDIR)/%.c
$(CC) $(CFLAGS) -DLOAD=0x4000 -c $<
@ $(AR) $(ARFLAGS) $(LIB) $% ; $(RM) $%
# Rules for arch-dependent .s files
$$(LIB)(%.o): $(ARCHDIR)/%.s
@ $(RM) tmp.c tmp.i $%
cp $< tmp.c
/lib/cpp -P -DBOOTBLOCK -DLOCORE $(CPPOPTS) $(BOOTOPT) -DLOAD=0x$(LOAD) tmp.c > tmp.s
$(AS) -P -Q tmp.s -o $%
@ $(AR) $(ARFLAGS) $(LIB) $%
@ $(RM) tmp.c tmp.i tmp.s $%
# Standalone start-off.
SRTOPT= -DLOCORE -DLOAD=0x$(LOAD)
srt0xx.o:= SRTOPT += -DBOOTBLOCK
srt0.o srt0xx.o: $(ARCHDIR)/srt0.S
cc -c $(CFLAGS) $(SRTOPT) $(BOOTOPT) -o $@ $(ARCHDIR)/srt0.S
install_mdec:
install bootopen $(BOOTBLKDIR)/rawboot
$(RM) $(BOOTBLKDIR)/bootsd $(BOOTBLKDIR)/bootfd
ln $(BOOTBLKDIR)/rawboot $(BOOTBLKDIR)/bootsd
ln $(BOOTBLKDIR)/rawboot $(BOOTBLKDIR)/bootfd
# HACK - see bugid 1041421
echo "DUMMY sun4c tpboot file to get around suninstall bug in 4.1" > $(STANDDIR)/tpboot.sun4c
echo "tpboot is now OBSOLETE for sun4c, but 4.1 suninstall expects it" >> $(STANDDIR)/tpboot.sun4c
chmod 644 $(STANDDIR)/tpboot.sun4c