1
0
mirror of https://github.com/Interlisp/maiko.git synced 2026-01-16 08:15:31 +00:00
Interlisp.maiko/bin/makefile-linux.386-x
Bruce Mitchener 4862e8bbb6
Remove -D__USE_BSD from Linux builds. (#67)
This is an internal macro to GNU libc and wasn't meant to be
defined like this. Well, it was. It was deprecated and removed
some years ago, so it isn't doing anything at all here now.
2020-12-15 10:06:15 -08:00

104 lines
3.5 KiB
Plaintext

# Options for Linux, Intel 386/486 and X-Window
#CC = gcc -m32 -std=gnu89 -fno-omit-frame-pointer -Wall -Wextra -fwrapv -fno-aggressive-loop-optimizations -fno-strict-aliasing
CC = clang -m32 -std=gnu89 -funsigned-char -fno-strict-aliasing
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
XVERSION = XV11R4
XFLAGS = -DXWINDOW -DNOPIXRECT -D$(XVERSION) # $(CLXFLAGS)
# This is to make the %$#@! Apollo cc happy
OEXT = .o
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g3
DISPOPTFLAGS = -O2 -g3
FPFLAGS =
DFLAGS = -DFSERROR -DNEW_STORAGE -DLINUX -DAIX -DOLD_CURSOR \
-DBYTESWAP -DFORKCOMM -DNOFORN -DLOGINT $(XFLAGS) \
-DRELEASE=351 -DSYSVSIGNALS -DSYSVONLY
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lcrypt
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lcrypt
INLINE = # $(SRCDIR)dspSPARC.il
BITBLTFILE = # $(OBJECTDIR)bbtSPARC.o
BYTESWAPFILES = $(OBJECTDIR)byteswap.o
OBJECTDIR = ../$(RELEASENAME)/
default : ../$(OSARCHNAME)/lde
# 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
############
#
# SPECIAL xc.o for debugging
#
############
$(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) -UOPDISP $(SRCDIR)xc.c -I$(INCDIR) -o $(OBJECTDIR)xc.o