# makefile for BenAri Concurrent Pascal PCODE Interpreter in C
#
OBJS=main.o bainterp.o baiutils.o random.o date.o ../lib/globtabs.o
INCDIR = ../include
INCLS=$(INCDIR)/globdata.h $(INCDIR)/bacicnty.h \
	   $(INCDIR)/disutils.h $(INCDIR)/genutil.h $(INCDIR)/readtab.h random.h
CC=gcc
#CC=cc
#CFLAGS=-Wall -g $(DEFINES) -I$(INCDIR)
#CFLAGS=-g $(DEFINES) -I$(INCDIR)
LIBDIR= ../lib

which:
	@echo "What do you want to make for `uname -s`?"
	@echo "     gui             or"
	@echo "     std"
	@echo ""

gui:
	make clean
	make "OS=`uname -s`" whichgui

whichgui:
	$(LIBDIR)/checkLastOS '*.o'
	make $(OS)gui

Darwingui:
	make "DEFINES=-DMACOSX -DTCL" "LLIBS=-ltk -ltcl -lX11 -ldl -lm" \
      "INCDIRS=-I$(INCDIR)" \
      "LDFLAGS= -L/usr/lib -L/usr/local/lib -L/usr/X11R6/lib" \
      guibainterp

Linuxgui:
	make "DEFINES=-DLinux -DTCL" "LLIBS=-ltk -ltcl -lX11 -ldl -lm" \
      "INCDIRS=-I$(INCDIR)" \
      "LDFLAGS= -L/usr/lib -L/usr/local/lib -L/usr/X11R6/lib" \
      guibainterp

SunOSgui:
	make "DEFINES=-DSunOS -DTCL -DTcl7_5" "LLIBS=-ltk8.0 -ltcl8.0 -lX11 -lm" \
      "INCDIRS=-I$(INCDIR) -I/usr/local/include" \
      "LDFLAGS= -L/usr/lib -L/usr/local/lib -L/usr/X11R6/lib" \
      guibainterp

IRIXgui:
	make "DEFINES=-DIRIX -DTCL" "LLIBS=-ltkx -ltclx -lX11 -lm" \
      "INCDIRS=-I$(INCDIR) -I/usr/local/include" \
      "LDFLAGS= -L/usr/lib -L/usr/local/lib -L/usr/X11R6/lib" \
      guibainterp

AIXgui:
	make "DEFINES=-DAIX -DTCL" "LLIBS=-ltk -ltcl -lX11 -ldl -lm" \
      "INCDIRS=-I$(INCDIR) -I/home/research5/wlbynu.gnu/include" \
      "LDFLAGS= -L/usr/lib -L/usr/local/lib -L/usr/X11R6/lib -L/home/research5/wlbynu.gnu/lib" \
      guibainterp


guibainterp: $(OBJS) $(INCLS)
	(cd $(LIBDIR); make)
	$(CC) $(CFLAGS) -o bagui $(OBJS) -L$(LIBDIR) $(LDFLAGS) -lba -lba $(LLIBS)
	rm date.o

# to track down link problems change the above CC line to 
#  $(CC) $(CFLAGS) -t -o guibainterp $(OBJS) $(LDFLAGS) -L$(LIBDIR) -lba $(LLIBS)

std:
	make clean
	make "OS=`uname -s`" whichstd

whichstd:
	$(LIBDIR)/checkLastOS '*.o'
	make "DEFINES=-D$(OS)" "INCDIRS=-I../$(INCDIR)" stdbainterp

stdbainterp:  $(OBJS) $(INCLS)
	(cd $(LIBDIR); make)
	$(CC) $(CFLAGS) $(INCDIRS) -o bainterp $(OBJS) -L$(LIBDIR) -lba -lba
	rm date.o

bainterp.o:  bainterp.c $(INCLS)
	$(CC) -c $(CFLAGS) $(INCDIRS) bainterp.c

baiutils.o:  baiutils.c $(INCLS)
	$(CC) -c $(CFLAGS) $(INCDIRS) baiutils.c

date.o:
	rm -f date.c
	(cd $(LIBDIR); make)
	$(LIBDIR)/makedate
	$(CC) -c $(CFLAGS) date.c

main.o:  main.c $(INCLS)
	$(CC) -c $(CFLAGS) $(INCDIRS) main.c

random.o: random.c
	$(CC) -c $(CFLAGS) random.c

clean:
	rm -f main.o bainterp.o baiutils.o random.o bainterp ../lib/makedate

cleanobj:
	rm -f main.o bainterp.o baiutils.o random.o ../lib/makedate

# 
# 
#   $Log: Makefile,v $
#   Revision 2.0  2000/06/07 17:54:14  bynum
#   switch to Makefile from the BACI GUI directory
#
#   Revision 1.1  1999/08/12 15:57:22  bynum
#   Initial revision
#
# Revision 1.5  1996/03/07  09:38:07  bynum
# correct 'makedate' call
#
# Revision 1.4  1996/03/07  09:33:36  bynum
# change file name to 'Makefile', add 'date.o' target
#
# Revision 1.3  1995/09/14  13:36:42  bynum
# add cd to lib directory in bainterp target
#
# Revision 1.2  1995/09/07  14:45:03  bynum
# add references to ../lib directory and add library reference in
# the final compilation step, change bpcinter.c to main.c
#
# Revision 1.1  1995/06/22  06:49:19  bynum
# Initial revision
#
# 
#
