DESTDIR = /mit/motif
SRCDIR = /mit/motif
LIBDIR = $(SRCDIR)/$(MACHINE)lib
INCDIR = $(SRCDIR)/include
BINDIR = $(SRCDIR)/$(MACHINE)bin
INCPATH = -I$(INCDIR) 
LIBPATH = -L$(LIBDIR)
LIBS = -lMrm -lXm -lXt -lX11
INSTALLLIB = $(DESTDIR)/$(MACHINE)lib
INSTALLBIN = $(DESTDIR)/$(MACHINE)bin
INSTALLMAN = $(DESTDIR)/man
INSTALLDOC = $(DESTDIR)/doc

UIL = $(BINDIR)/uil
CC = gcc
CFLAGS = -O $(INCPATH)

LIBMUSRCS = \
MuGetBoolean.c \
MuGetFileName.c \
MuGetString.c \
MuHelp.c \
MuHelpFile.c \
MuInitialize.c \
MuModalDialogs.c \
MuRegisterNames.c \
MuRegisterWidget.c \
MuSetCursor.c \
MuSetEmacsBindings.c \
MuSetTextTraversal.c \
MuSyncDialogs.c \
_MuCallbacks.c 

LIBMUOBJS = \
MuGetBoolean.o \
MuGetFileName.o \
MuGetString.o \
MuHelp.o \
MuHelpFile.o \
MuInitialize.o \
MuModalDialogs.o \
MuRegisterNames.o \
MuRegisterWidget.o \
MuSetCursor.o \
MuSetEmacsBindings.o \
MuSetTextTraversal.o \
MuSyncDialogs.o \
_MuCallbacks.o 

DOCSRC = \
man/man3/libMu.3X \
man/man1/mockup.1 \
man/man3/MuError.3X \
man/man3/MuErrorSync.3X \
man/man3/MuGetBoolean.3X \
man/man3/MuGetFilename.3X \
man/man3/MuGetString.3X \
man/man3/MuHelpFile.3X \
man/man3/MuInitialize.3X \
man/man3/MuRegisterNames.3X \
man/man3/MuRegisterWidget.3X \
man/man3/MuSetEmacsBindings.3X \
man/man3/MuSetTextTraversal.3X \
man/man3/MuSetWaitCursor.3X 


all: libMu.a mockup test document

libMu.a: $(LIBMUOBJS)
	rm -f libMu.a
	ar clq libMu.a $(LIBMUOBJS)
	ranlib libMu.a

$(LIBMUOBJS): Mu.h MuP.h


mockup: mockup.o libMu.a
	$(CC) $(CFLAGS) -o mockup mockup.o libMu.a $(LIBPATH) $(LIBS)


test: TestMu

TestMu: TestMu.o TestMu.uid libMu.a
	$(CC) $(CFLAGS) -o TestMu TestMu.o libMu.a $(LIBPATH) $(LIBS)

TestMu.uid: TestMu.uil
	$(UIL) -I$(INCDIR)/uil -o TestMu.uid TestMu.uil

TestMu.o: TestMu.c Mu.h


document: MotifUtilities.PS

MotifUtilities.PS: $(DOCSRC)
	psroff -man -t $(DOCSRC) > MotifUtilities.PS


install: libMu.a mockup document
	cp libMu.a $(INSTALLLIB)		# install libMu.a
	ranlib -t $(INSTALLLIB)/libMu.a		# re-ranlib it
	cp mockup $(INSTALLBIN)			# install mockup
	strip $(INSTALLBIN)/mockup		# strip it
	cp Mu.h $(INCDIR)			# install C header file
	cp Mu.h $(INCDIR)/Xm			#     in two places
	cp Mu.uil $(INCDIR)/uil			# install uil header file
	cp MotifUtilities.PS $(INSTALLDOC)	# install document
	cp man/man1/* $(INSTALLMAN)/man1	# install man pages sec. 1
	cp man/man3/* $(INSTALLMAN)/man3	# install man pages sec. 3
	catman -M $(INSTALLMAN)			# format man pages

clean: 
	rm -f libMu.a mockup TestMu MotifUtilities.PS
	rm -f *.o *.uid *~ core

saber:
	saber $(CFLAGS) $(LIBMUSRCS)


