mirror of
https://github.com/Interlisp/maiko.git
synced 2026-04-25 12:01:46 +00:00
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.
142 lines
4.3 KiB
Plaintext
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
|