# Makefile for minithreads on x86/NT

# You probably do not need to modify this, unless you are adding extra files.

WINSOCKLIB = ws2_32.lib

VISUALSTUDIO = c:\Program Files\Microsoft Visual Studio

CC = cl.exe
LINK = link.exe

SYSLIBPATH = "$(VISUALSTUDIO)\VC98\lib\\"
CFLAGS = /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"minithreads-x86.pch" /YX /Fo"" /Fd"" /FD /GZ /c 
LFLAGS = /nologo /subsystem:console /incremental:no /pdb:"minithreads-x86.pdb" /debug /machine:I386 /out:"minithreads-x86.exe" /pdbtype:sept /LIBPATH:$(SYSLIBPATH)


LIB = kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib $(WINSOCKLIB)

# change this to the name of the file you want to link with minithreads, 
# dropping the ".c": so to use "sieve.c", change to "MAIN = sieve".

MAIN = network6

SPECIALOBJ= machineprimitives_x86.obj 

OBJ = 	miniroute.obj \
	minisocket.obj\
	minimsg.obj\
	network.obj\
	alarm.obj\
	random.obj\
	interrupts.obj \
	minithread.obj \
	machineprimitives.obj \
	queue.obj \
	$(MAIN).obj \
	synch.obj 

all: minithreads-x86.exe

wince: 
	nmake /f Makefile_WinCE MAIN=$(MAIN) OBJ="$(OBJ)" 

.c.obj:
	$(CC) $(CFLAGS) $<

minithreads-x86.exe: start.obj end.obj $(OBJ) $(SPECIALOBJ)
	$(LINK) $(LFLAGS) $(LIB) start.obj $(OBJ) $(SPECIALOBJ) end.obj $(LFLAGS)

clean:
	-@del /F /Q *.obj
	-@del /F /Q minithreads-x86.pch minithreads-x86.pdb minithreads-arm.pch minithreads-arm.pdb 
	-@del /F /Q minithreads-x86.exe minithreads-arm.exe 

#depend: 
#	gcc -MM *.c 2>/dev/null | sed -e "s/\.o/.obj/" > depend


include Depend
