1
0
mirror of https://github.com/Interlisp/maiko.git synced 2026-04-25 12:01:46 +00:00
Files
Interlisp.maiko/bin/makefile-sunos5.sparc-x
Bruce Mitchener 2dcdf14334 Migrate to POSIX signals. (#190)
This removes SYSVSIGNALS as we're always and only using POSIX
signals now.

Some platform differences have been papered over. We used to
only ignore SIGPIPE when using BSD signals, but we now ignore
it all the time.

While the SIGFPE code will now compile, it hasn't been updated
to work on modern OSes fully yet as it will need to enable
the correct FP exceptions.
2021-01-09 04:55:39 +00:00

142 lines
4.3 KiB
Plaintext

# Options for SOlaris 2.x, SPARC and X-Window
# $Id: makefile-sunos5.sparc-x,v 1.7 2001/12/26 22:17:10 sybalsky Exp $ #
#************************************************************************/
#* */
#* (C) Copyright 1989, 1990, 1990, 1991, */
#* 1992, 1993, 1994, 1996, */
#* 1999 */
#* Venue. All Rights Reserved. */
#* Manufactured in the United States of America. */
#* */
#************************************************************************/
# Setup for using gcc
# CC = gcc $(GCC_CFLAGS)
# Setup for using Solaris Developer Studio 12.6 cc
# CC = cc -m32 -funsigned-char
CC = cc -m32 -funsigned-char -O2
XFILES = $(OBJECTDIR)xmkicon.o \
$(OBJECTDIR)xbbt.o \
$(OBJECTDIR)dspif.o \
$(OBJECTDIR)xinit.o \
$(OBJECTDIR)xscroll.o \
$(OBJECTDIR)xcursor.o \
$(OBJECTDIR)xlspwin.o \
$(OBJECTDIR)xrdopt.o \
$(OBJECTDIR)xwinman.o
XFLAGS = -DXWINDOW
# This is to make the %$#@! Apollo cc happy
OEXT = .o
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g3
DISPOPTFLAGS = -O2 -g3
MAIN = main
# Set any debugging options in DEBUGFLAGS. E.g., to enable stack
# checking, use -DSTACKCHECK; to enable the fn-call-time stack
# check, use -DFNSTKCHECK.
DEBUGFLAGS = # -DSTACKCHECK -DFNSTKCHECK
MACHINEFLAGS = -DOS5 -DUSE_DLPI -DNOPIXRECT \
-DOLD_CURSOR -DLOGINT -DFORKCOMM -DLOCK_X_UPDATES
INLINEFLAGS =
FPFLAGS =
DFLAGS = $(XFLAGS) \
$(DEBUGFLAGS) \
$(MACHINEFLAGS) \
$(INLINEFLAGS) \
-DRELEASE=351
LDFLAGS = -lX11 -lc -lm -lsocket -lnsl
LDELDFLAGS = -lX11 -lc -lm -lsocket -lnsl
LDEETHERLDFLAGS = -lc -lm -lsocket -lnsl
# SPARC Assemble optimize check
# DFLAGS:sh += optck.sh ; true
#-Dsparc?
INLINE =
BITBLTFILE = $(OBJECTDIR)bbtSPARC.o
DLPIFILES = $(OBJECTDIR)dlpi.o
OBJECTDIR = ../$(RELEASENAME)/
BYTESWAPFILES = $(OBJECTDIR)byteswap.o
default: ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldeether
# Special rules to create xc.c on Sun4
#run cpp to expand macros
$(OBJECTDIR)xc.i: $(SRCDIR)xc.c $(INCDIR)lispemul.h $(INCDIR)emlglob.h $(INCDIR)address.h \
$(INCDIR)adr68k.h $(INCDIR)stack.h $(INCDIR)lspglob.h \
$(INCDIR)lsptypes.h $(INCDIR)lispmap.h $(INCDIR)cell.h \
$(INCDIR)initatms.h $(INCDIR)gcdata.h \
$(INCDIR)arith.h $(INCDIR)stream.h \
$(INCDIR)tos1defs.h $(INCDIR)tosret.h \
$(INCDIR)tosfns.h $(INCDIR)inlineC.h \
$(INCDIR)inln68k.h
$(CC) -Qproduce .i $(DFLAGS) -I$(INCDIR) $(SRCDIR)xc.c -o $(OBJECTDIR)xc.i
#run c compiler to produce first pass assembly
$(OBJECTDIR)xc.s1: $(OBJECTDIR)xc.i
rm -f $(OBJECTDIR)xc.s1
/lib/ccom - $(FPFLAGS) <$(OBJECTDIR)xc.i >$(OBJECTDIR)xc.s1
#generate C program to remove dispatch loop, optimize
$(OBJECTDIR)dsphack.c: $(SRCDIR)dsphack.lex
rm -f $(OBJECTDIR)dsphack.c
lex -t $(SRCDIR)dsphack.lex > $(OBJECTDIR)dsphack.c
#uses this program to find dispatch
$(OBJECTDIR)find-dsp.c: $(SRCDIR)find-dsp.lex
rm -f $(OBJECTDIR)find-dsp.c
lex -t $(SRCDIR)find-dsp.lex > $(OBJECTDIR)find-dsp.c
$(OBJECTDIR)find-dsp: $(OBJECTDIR)find-dsp.c
$(CC) -o $(OBJECTDIR)find-dsp $(OBJECTDIR)find-dsp.c -ll
$(OBJECTDIR)dispatch-label.c: $(OBJECTDIR)find-dsp $(OBJECTDIR)xc.s1
rm -f $(OBJECTDIR)dispatch-label.c
$(OBJECTDIR)find-dsp < $(OBJECTDIR)xc.s1 >$(OBJECTDIR)dispatch-label.c
$(OBJECTDIR)dsphack: $(OBJECTDIR)dsphack.c $(OBJECTDIR)dispatch-label.c
$(CC) -o $(OBJECTDIR)dsphack $(OBJECTDIR)dispatch-label.c $(OBJECTDIR)dsphack.c -ll
rm -f $(OBJECTDIR)dispatch-label.o $(OBJECTDIR)dsphack.o
$(OBJECTDIR)xc.s2: $(OBJECTDIR)xc.s1 $(OBJECTDIR)dsphack
rm -f $(OBJECTDIR)xc.s2
$(OBJECTDIR)dsphack < $(OBJECTDIR)xc.s1 >$(OBJECTDIR)xc.s2
$(OBJECTDIR)xc.s3: $(OBJECTDIR)xc.s2 $(INLINE)
rm -f $(OBJECTDIR)xc.s3
/usr/lib/inline -i $(INLINE) < $(OBJECTDIR)xc.s2 > $(OBJECTDIR)xc.s3
#$(OBJECTDIR)xc.o: $(OBJECTDIR)xc.s3
# /bin/as -o $(OBJECTDIR)xc.o -O1 $(OBJECTDIR)xc.s3
########### debugging version of xc maker
$(OBJECTDIR)xc.o: $(SRCDIR)xc.c $(INCDIR)lispemul.h $(INCDIR)emlglob.h $(INCDIR)address.h \
$(INCDIR)adr68k.h $(INCDIR)stack.h $(INCDIR)lspglob.h \
$(INCDIR)lsptypes.h $(INCDIR)lispmap.h $(INCDIR)cell.h \
$(INCDIR)initatms.h $(INCDIR)gcdata.h \
$(INCDIR)arith.h $(INCDIR)stream.h \
$(INCDIR)tos1defs.h $(INCDIR)tosret.h \
$(INCDIR)tosfns.h $(INCDIR)inlineC.h
$(CC) $(DISPRFLAGS) -USPARCDISP -UOPDISP -DNOASM $(INLINE) -I$(INCDIR) $(SRCDIR)xc.c -o $(OBJECTDIR)xc.o