mirror of
https://github.com/Interlisp/maiko.git
synced 2026-04-17 00:00:51 +00:00
This is the old way that releases were built and isn't relevant today. It made a variety of assumptions about how things were linked and allowed for the user to re-link an executable, but that isn't something we need to do any longer. This doesn't yet remove the checksum, ldechecksum, and related scripts.
140 lines
4.2 KiB
Plaintext
140 lines
4.2 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 $(DEVSTUDIO_CFLAGS)
|
|
|
|
CC = cc -m32 $(DEVSTUDIO_CFLAGS)
|
|
|
|
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
|
|
|
|
# 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 -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
|