TOP=/home/temccune/smtalk43/stdwin

#
# Definitions pertaining to BSD (4.3)
#

OS=		bsd
RANLIB=		ranlib

# MKDEP is defined in proto.arch.*

LIBTERMCAP=	-ltermcap
LIBX11=		-lX11

#
# Definitions pertaining to the DEC mips architecture
#

# The name of this architecture
ARCH=		mips

# Script to add dependencies to Makefile
MKDEP=		$(CONF)/fastmkdep

#
# Definitions pertaining to the X11 port
#

PORT=		x11

# Libraries to link with for the X11 port
PORTOWNLIBS=	$(PORTBUILD)/lib/libstdw.a
PORTSYSLIBS=	$(LIBX11)
PORTLIBS=	$(PORTOWNLIBS) $(PORTSYSLIBS)


#
# Definitions pertaining to all configurations
#

# Names for all the top-level subdirectories of the stdwin tree
APPLS=		$(TOP)/Appls
BUILD=		$(TOP)/Build
CONF=		$(TOP)/Conf
H=		$(TOP)/H
PACKS=		$(TOP)/Packs
PORTS=		$(TOP)/Ports
TOOLS=		$(TOP)/Tools

# Names for subdirectories of $(PORTS)
ALFA=		$(PORTS)/alfa
X11=		$(PORTS)/x11
GEN=		$(TOP)/Gen
VTRM=		$(PORTS)/vtrm
VTRM_ALL=	$(PORTS)/vtrm/uxtty.c $(PORTS)/vtrm/vtrm.c

# Names for subdirectories of $(PACKS)
TEXTEDIT=	$(TOP)/Packs/textedit
VT=		$(TOP)/Packs/vt

# Names for all sources files to the textedit package --
# this is used to include them in each port's library
TEXTEDIT_PACK=	$(TEXTEDIT)/*.c
VT_PACK=	$(VT)/vt*.c

# Build directory -- one for each port
PORTBUILD=	$(TOP)/Build/$(ARCH)/$(PORT)

# C flags (include directories, definitions, options) used at all times
CONFINCLS=	-I$(H)
CONFDEFS=	
CONFOPTS=	# XXX should be OS or arch specific!
CONFLIBS=	

# Construct CFLAGS from various sources
# XXX does the order matter?
INCLS=		$(OSINCLS) $(ARCHINCLS) $(PORTINCLS) $(CONFINCLS) $(SRCINCLS)
DEFS=		$(OSDEFS) $(ARCHDEFS) $(PORTDEFS) $(CONFDEFS) $(SRCDEFS)
OPTS=		$(OSOPTS) $(ARCHOPTS) $(PORTOPTS) $(CONFOPTS) $(SRCOPTS)
CPPFLAGS=	$(INCLS) $(DEFS)
CFLAGS=		$(CPPFLAGS) $(OPTS)

# Construct LIBS to link application with from various sources
# XXX what is the right order?
LIBS=		$(SRCLIBS) $(PORTLIBS) $(OSLIBS) $(ARCHLIBS) $(CONFLIBS)

# Ensure that "all" is the first target defined in this Makefile
all:


# Standard targets

# Target to add dependency rules to the Makefile (in place!)
depend:
		$(MKDEP) $(CFLAGS) $(SRCS)

# XXX There should be standard targets tags, clean, etc.

#
# Makefile prototype for X11 port
#

SRCS=		\
		$(X11)/caret.c \
		$(X11)/cursor.c \
		$(X11)/cutbuffer.c \
		$(X11)/dialog.c \
		$(X11)/draw.c \
		$(X11)/error.c \
		$(X11)/event.c \
		$(X11)/font.c \
		$(X11)/general.c \
		$(X11)/llevent.c \
		$(X11)/menu.c \
		$(X11)/selection.c \
		$(X11)/scroll.c \
		$(X11)/timer.c \
		$(X11)/window.c \
		$(TOOLS)/strdup.c \
		$(GEN)/waskfile.c \
		$(GEN)/wperror.c \
		$(GEN)/wsetclip.c \
		$(GEN)/wtextbreak.c \
		$(TEXTEDIT_PACK) \
		$(VT_PACK)

all:		libstdw.a

_bootstrap:
	@putlibmf libstdw.a $(SRCS)

OBJS= \
	caret.o \
	cursor.o \
	cutbuffer.o \
	dialog.o \
	draw.o \
	error.o \
	event.o \
	font.o \
	general.o \
	llevent.o \
	menu.o \
	selection.o \
	scroll.o \
	timer.o \
	window.o \
	strdup.o \
	waskfile.o \
	wperror.o \
	wsetclip.o \
	wtextbreak.o \
	editwin.o \
	textdbg.o \
	textedit.o \
	textlow.o \
	wprintf.o \
	vt.o \
	vtansi.o \
	vtfunc.o \
	vtpanic.o \
	vtputs.o \
	vtresize.o \
	vtselect.o \
	vtsend.o \
	vtusesend.o \
	vtvtrm.o

libstdw.a: $(OBJS)
	ar cr @libstdw.a $(OBJS)
	$(RANLIB) @libstdw.a
	mv @libstdw.a libstdw.a

.PRECIOUS: libstdw.a

caret.o: /home/temccune/smtalk43/stdwin/Ports/x11/caret.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Ports/x11/caret.c

cursor.o: /home/temccune/smtalk43/stdwin/Ports/x11/cursor.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Ports/x11/cursor.c

cutbuffer.o: /home/temccune/smtalk43/stdwin/Ports/x11/cutbuffer.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Ports/x11/cutbuffer.c

dialog.o: /home/temccune/smtalk43/stdwin/Ports/x11/dialog.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Ports/x11/dialog.c

draw.o: /home/temccune/smtalk43/stdwin/Ports/x11/draw.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Ports/x11/draw.c

error.o: /home/temccune/smtalk43/stdwin/Ports/x11/error.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Ports/x11/error.c

event.o: /home/temccune/smtalk43/stdwin/Ports/x11/event.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Ports/x11/event.c

font.o: /home/temccune/smtalk43/stdwin/Ports/x11/font.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Ports/x11/font.c

general.o: /home/temccune/smtalk43/stdwin/Ports/x11/general.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Ports/x11/general.c

llevent.o: /home/temccune/smtalk43/stdwin/Ports/x11/llevent.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Ports/x11/llevent.c

menu.o: /home/temccune/smtalk43/stdwin/Ports/x11/menu.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Ports/x11/menu.c

selection.o: /home/temccune/smtalk43/stdwin/Ports/x11/selection.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Ports/x11/selection.c

scroll.o: /home/temccune/smtalk43/stdwin/Ports/x11/scroll.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Ports/x11/scroll.c

timer.o: /home/temccune/smtalk43/stdwin/Ports/x11/timer.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Ports/x11/timer.c

window.o: /home/temccune/smtalk43/stdwin/Ports/x11/window.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Ports/x11/window.c

strdup.o: /home/temccune/smtalk43/stdwin/Tools/strdup.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Tools/strdup.c

waskfile.o: /home/temccune/smtalk43/stdwin/Gen/waskfile.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Gen/waskfile.c

wperror.o: /home/temccune/smtalk43/stdwin/Gen/wperror.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Gen/wperror.c

wsetclip.o: /home/temccune/smtalk43/stdwin/Gen/wsetclip.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Gen/wsetclip.c

wtextbreak.o: /home/temccune/smtalk43/stdwin/Gen/wtextbreak.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Gen/wtextbreak.c

editwin.o: /home/temccune/smtalk43/stdwin/Packs/textedit/editwin.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Packs/textedit/editwin.c

textdbg.o: /home/temccune/smtalk43/stdwin/Packs/textedit/textdbg.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Packs/textedit/textdbg.c

textedit.o: /home/temccune/smtalk43/stdwin/Packs/textedit/textedit.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Packs/textedit/textedit.c

textlow.o: /home/temccune/smtalk43/stdwin/Packs/textedit/textlow.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Packs/textedit/textlow.c

wprintf.o: /home/temccune/smtalk43/stdwin/Packs/textedit/wprintf.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Packs/textedit/wprintf.c

vt.o: /home/temccune/smtalk43/stdwin/Packs/vt/vt.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Packs/vt/vt.c

vtansi.o: /home/temccune/smtalk43/stdwin/Packs/vt/vtansi.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Packs/vt/vtansi.c

vtfunc.o: /home/temccune/smtalk43/stdwin/Packs/vt/vtfunc.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Packs/vt/vtfunc.c

vtpanic.o: /home/temccune/smtalk43/stdwin/Packs/vt/vtpanic.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Packs/vt/vtpanic.c

vtputs.o: /home/temccune/smtalk43/stdwin/Packs/vt/vtputs.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Packs/vt/vtputs.c

vtresize.o: /home/temccune/smtalk43/stdwin/Packs/vt/vtresize.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Packs/vt/vtresize.c

vtselect.o: /home/temccune/smtalk43/stdwin/Packs/vt/vtselect.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Packs/vt/vtselect.c

vtsend.o: /home/temccune/smtalk43/stdwin/Packs/vt/vtsend.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Packs/vt/vtsend.c

vtusesend.o: /home/temccune/smtalk43/stdwin/Packs/vt/vtusesend.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Packs/vt/vtusesend.c

vtvtrm.o: /home/temccune/smtalk43/stdwin/Packs/vt/vtvtrm.c
	$(CC) -c $(CFLAGS) /home/temccune/smtalk43/stdwin/Packs/vt/vtvtrm.c
