
CC = gcc
TARGETS = sim990
INSTDIR = /usr/local/bin

SIMOBJS = sim990.o simops.o simfops.o simeops.o simio.o simdsk.o simfpy.o \
	simtape.o sim911.o sim945.o binloader.o screen.o ibmfloat.o

all: 
	@if [ "`uname -s`" = "Linux" ] ; then \
		echo "Making Linux on a `uname -m`" ;\
		make linux ;\
	elif [ "`uname -s`" = "AIX" ] ; then \
		echo "Making AIX" ;\
		make aix ;\
	elif [ "`uname -s`" = "HP-UX" ] ; then \
		echo "Making HP-UX" ;\
		make hpux ;\
	elif [ "`uname -s`" = "SunOS" ] ; then \
		echo "Making Solaris" ;\
		make solaris ;\
	elif [ "`uname -s`" = "OS/390" ] ; then \
		echo "Making OS/390 USS" ;\
		make uss ;\
	else \
		echo "OS type `uname -s` is unknown" ;\
		echo "You must enter an OS type. OS types are:" ;\
		echo "   aix | hpux | linux | nt | solaris | uss " ;\
		echo " " ;\
	fi

aix:
	@make $(TARGETS) "CFLAGS = -DUNIX -DAIX -DANSICRT $(DEBUG)"

hpux:
	@make $(TARGETS) "CFLAGS = -DUNIX -DHPUX -DANSICRT $(DEBUG)"

linux:
	@make $(TARGETS) "CFLAGS = -DUNIX -DLINUX -DANSICRT $(DEBUG)" \
		"THREADLIB = -lpthread"

nt:
	@nmake/nologo -f makefile.nt

solaris:
	@make $(TARGETS) "CFLAGS = -DUNIX -DSOLARIS -DANSICRT $(DEBUG)" \
		"THREADLIB = -lpthread -lnsl -lsocket -lrt"

uss:
	@make $(TARGETS) "CC = cc" "CFLAGS = -DUNIX -DUSS -DANSICRT $(DEBUG)"



sim990: $(SIMOBJS)
	$(CC) -o sim990 $(SIMOBJS) $(THREADLIB) -lc

clean:
	rm -f $(SIMOBJS) sim990 *.out *.trc

install:
	cp $(TARGETS) $(INSTDIR)

sim990.o: sim990.c simdef.h screen.h
simops.o: simops.c simdef.h 
simfops.o: simfops.c simdef.h ibmfloat.h
simeops.o: simeops.c simdef.h
simio.o: simio.c simdef.h simcra.h screen.h
simdsk.o: simdsk.c simdef.h
simtape.o: simtape.c simdef.h
simfpy.o: simfpy.c simdef.h
sim911.o: sim911.c simdef.h
sim945.o: sim945.c simdef.h
binloader.o: binloader.c simdef.h
screen.o: screen.c screen.h
ibmfloat.o: ibmfloat.c ibmfloat.h
