# Makefile for slang as Win32 GUI using nmake under Visual C.

OBJS1 = SLANG.OBJ SLARRAY.OBJ SLCLASS.OBJ SLCMD.OBJ SLERR.OBJ SLFILE.OBJ
OBJS2 = SLGETKEY.OBJ SLKEYMAP.OBJ SLMALLOC.OBJ SLMATH.OBJ SLMEMCHR.OBJ
OBJS3 = SLMEMCMP.OBJ SLMEMCPY.OBJ SLMEMSET.OBJ SLMISC.OBJ SLPARSE.OBJ
OBJS4 = SLPREPR.OBJ SLREGEXP.OBJ SLRLINE.OBJ SLSEARCH.OBJ SLSMG.OBJ
OBJS5 = SLSTD.OBJ SLTOKEN.OBJ SLTYPES.OBJ SLXSTRNG.OBJ

OBJS = $(OBJS1) $(OBJS2) $(OBJS3) $(OBJS4) $(OBJS5)
# This needs changing for Windows NT on non-Intel processors
CPU = _X86_

wslang32.lib: $(OBJS) link.rsp
	link -lib -out:$@ @link.rsp

compile.rsp:
	echo /nologo /W3 /YX /O2 /D "NDEBUG" /D $(CPU) > compile.rsp
	echo /D "_WINDOWS" /D "__WIN32__" /D "pc_system" >> compile.rsp
	echo /I "." /D "FLOAT_TYPE" /ML >> compile.rsp
	copy slconfig.h config.h

link.rsp:
	echo $(OBJS1) > link.rsp
	echo $(OBJS2) >> link.rsp
	echo $(OBJS3) >> link.rsp
	echo $(OBJS4) >> link.rsp
	echo $(OBJS5) >> link.rsp

.c.obj:
	cl /c @compile.rsp $*.c

slang.obj: slang.c compile.rsp
slarray.obj: slarray.c compile.rsp
slclass.obj: slclass.c compile.rsp
slcmd.obj: slcmd.c compile.rsp
slerr.obj: slerr.c compile.rsp
slfile.obj: slfile.c compile.rsp
slgetkey.obj: slgetkey.c compile.rsp
slkeymap.obj: slkeymap.c compile.rsp
slmalloc.obj: slmalloc.c compile.rsp
slmath.obj: slmath.c compile.rsp
slmemchr.obj: slmemchr.c compile.rsp
slmemcmp.obj: slmemcmp.c compile.rsp
slmemcpy.obj: slmemcpy.c compile.rsp
slmemset.obj: slmemset.c compile.rsp
slmisc.obj: slmisc.c compile.rsp
slparse.obj: slparse.c compile.rsp
slprepr.obj: slprepr.c compile.rsp
slregexp.obj: slregexp.c compile.rsp
slrline.obj: slrline.c compile.rsp
slsearch.obj: slsearch.c compile.rsp
slsmg.obj: slsmg.c compile.rsp
slstd.obj: slstd.c compile.rsp
sltoken.obj: sltoken.c compile.rsp
sltypes.obj: sltypes.c compile.rsp
slxstrng.obj: slxstrng.c compile.rsp
