1
0
Files
irix-657m-src/stand/arcs/ide/Makedefs
2022-09-29 17:59:04 +03:00

84 lines
2.7 KiB
Plaintext

#
# IDE library make definitions.
# - This file is a wrapper which extends the ide tree's commondefs.
# - Makefiles in ide/$(CPUBOARD) subdirectories should include this
# file by setting DIAGDEPTH to the path from the subdirectory up
# to this level, and by including ${DIAGDEPTH}/Makedefs before any
# local definitions.
#
DEPTH= ${DIAGDEPTH}/..
include ${DEPTH}/commondefs
include $(PRODUCTDEFS)
include $(CPUARCHDEFS)
DEF_CSTYLE=
GLDOPTS=-nostdlib
# Make all ide files with minimal optimization level for ide.
# For power on diags leave optimization on.
#
# Some machines override this in $CPUBOARD/Makedefs
#
$(PROMFLAGS)OPTIMIZER=
MKDEPFILE=Makedepend.$(PRODUCT)$(LIBTYPE)
TARGETDIR=${DIAGDEPTH}/${PRODUCT}${LIBTYPE}.O
# the following comment is left over from the old stand tree. The
# trailing slash has been removed so that make depends work.
#
## trailing / to work around VPATH problem; see ../saio/Makedefs for
## explanation
#
VPATH= $(TARGETDIR)
OBJECTDIR=$(TARGETDIR)
TDIRS = $(TARGETDIR) $(LIBDIR)
LIBNAME=lib${LIBTYPE}ide.a
LIBPATH=$(TARGETDIR)/$(LIBNAME)
SLAVE_STACKSIZE= 2000 # 8K stack for slaves
S_STKSIZE= -DSLAVE_STACKSIZE=0x${SLAVE_STACKSIZE}
STKSIZEDEFS= ${S_STKSIZE}
# group all of the ide-internal debugging flags together, then add to LLCDEFS
# IDEDDEFS= -DIDEBUG -DLAUNCH_DEBUG -DSET_DEBUG -DARG_DEBUG -DSTKDEBUG
IDEDDEFS=
# defining NDEBUG excludes ide's ASSERTs.
# If DEBUG definition is needed, create arcs/alocaldefs and add -DDEBUG
# to the VCDEFS; the inherited definitions make libs{c,k} properly
LLCDEFS=${STKSIZEDEFS} -D${CPUBOARD} -DIDE ${LDEFINES} ${IDEDDEFS}
# these are CFLAGS, but without GCOPTS, which is just OPTIMIZER and
# PROTOTYPES. By leaving OPTIMIZER=-O, the other files still get optimized.
# This is used in {mem,pon}/Makefile. Obviously it's a bit of a risk,
# in that it needs to track the definition of CFLAGS.
S_CFLAGS = $(CVERSION) $(VCFLAGS) $(LCFLAGS) $(GCDEFS) $(GCINCS) \
$(PROTOTYPES) $(ENDIAN)
# POBJECTS and _plib are used when making IP2[026]prom
POBJECTS= ${CFILES:.c=.o} ${ASFILES:.s=.o}
# MOBJECTS are used when making IDE module objs
MOBJECTS= ${CFILES:.c=.o} ${ASFILES:.s=.o}
# COBJECTS are used when making IDE core objs
COBJECTS= ${CFILES:.c=.o} ${ASFILES:.s=.o}
# LLCINCS is part of LCINCS, LINCLUDES by extension with LCINCS can
# be defined in sub-Makefiles
LLCINCS = ${MACHINCS} -I${DIAGDEPTH}/include ${LINCLUDES}
# .n files are for the PROM; generate dependencies for both .o and nm
# none of the include files are ifdef'ed on PROM, so this works OK
LMKDEPFLAGS= -e 's/^\(.*\)\.o:/\1.o \1.n:/'
ARCH=@cd $(TARGETDIR) && $(AR) cru$(VERBOSE) $(LIBNAME)
sinclude ${DIAGDEPTH}/${CPUBOARD}/Makedefs
sinclude localdefs