#############################################################################

WSIZE=4   # 2 for 16-bit system, 4 for 32-bit system

#CPPMEM=-DLMEMSIZE=32000 -DLPMEMSIZE=22000	# 16-bit version
CPPMEM=-DLMEMSIZE=70000 -DLPMEMSIZE=48000	# 32-bit VAX & MSDOS GCC
#CPPMEM=-DLMEMSIZE=100000 -DLPMEMSIZE=70000	# 32-bit UNIX

WORDS_IN_REAL=1	# 2 on 16-bit, 1 on 32-bit
DISABLE_H=1	# 0=enable H option on 16-bit, 1=disable on 32-bit

# MSC version
#CPP=cl -EP
#CC=cl -AH -Oelsgc -Fo$*.o

# GCC under MSDOS version i.e. DJ GNU C++
CPP=cpp -P
CC=gcc -O

# UNIX version
#CPP=gcc -x c -E -P			# GNU cpp
#CPP=/lib/cpp -P			# MICROSOFT cpp
#CC=cc -I. -Oactl -CSON			# UNIX SCO
#CC=cc -I. -Od				# UNIX SCO -	with respect to
#					#		MICROSOFT compiler
#CC=cc -I. +Np650 -DNO_PROTOTYPES	# UNIX HP
#CC=cc -I. -DNO_PROTOTYPES		# SUN SPARC
#CC=gcc -O				# GCC


target : loglan32.exe


#############################################################################



.SUFFIXES:
.SUFFIXES: .o .ff
.SUFFIXES: .o .f
.SUFFIXES: .o .c

SHELL=/bin/sh

OBJ=al11.o al12.o al13.o \
    debug.o dsw.o hash.o ifun.o it0.o it1.o \
    memfil.o resume.o scan.o spgrec.o \
    wan1.o wan2.o wan3.o \
    ml2.o ml3.o \
    main.o stdio.o

F2C=f2c -I$(WSIZE) -NL400
CCPARS=-I. -DWSIZE=$(WSIZE)



loglan16.exe : $(OBJ)
	link /e /farcalls @msdos.lnk

loglan32.exe : $(OBJ)
	$(CC) -o loglan.out @unix.lnk
	strip loglan.out
	aout2exe loglan.out
	rm loglan.out

loglan : $(OBJ)
	$(CC) $(OBJ) -o loglan
	strip loglan
	mv loglan $(HOME)/bin


.ff.o :
	$(CPP) $(CCPARS) $(CPPMEM) -DWORDS_IN_REAL=$(WORDS_IN_REAL) -DDISABLE_H=$(DISABLE_H) $*.ff > $*.f
	$(F2C) $*.f
	rm $*.f
	$(CC) $(CCPARS) -c $*.c
	rm $*.c

.f.o :
	$(F2C) $*.f
	$(CC) $(CCPARS) -c $*.c
	rm $*.c
	
.c.o :
	$(CC) $(CPPMEM) $(CCPARS) -c $*.c

clean:
	-rm -f *.o
	-rm -f loglan.exe
	-rm -f loglan.out
	-rm -f state.rst

al11.o : al11.ff blank.h blank2.h option.h stos.h
al12.o : al12.ff blank.h blank2.h option.h stos.h
al13.o : al13.ff blank.h blank2.h option.h stos.h
it0.o  : it0.ff  blank.h blank2.h option.h stos.h

