# Makefile for minithreads on ARM/WinCE

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

CEVersion=300
CePlatform=hpc2000
CESubsystem=windowsce,3.00

# change to the directory used by ActiveSync to synctonize with the PDE

PATH=c:\Program Files\Microsoft eMbedded Tools\EVC\WCE$(CEVersion)\BIN\

INCLUDEPATH="c:\Windows CE Tools\wce$(CEVersion)\$(CePlatform)\include"
LIBPATH="c:\Windows CE Tools\wce$(CEVersion)\$(CePlatform)\lib\arm"

CC = clarm.exe
LINK = link.exe
ASSEMBLER = armasm.exe

WINSOCKLIB = ws2_32.lib

CFLAGS = /I $(INCLUDEPATH) /nologo /W3 /Zi /Od /D "WINCE" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /Fo"" /Fd"" /MC /c 
LFLAGS =/nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /incremental:no /out:"minithreads-arm.exe" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM  /LIBPATH:$(LIBPATH)
LIB = commctrl.lib coredll.lib winsock.lib

# 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 = sieve

SPECIALOBJ= machineprimitives_arm.obj wince.obj

# OBJ comess from the call.

all: minithreads-arm.exe

machineprimitives_arm.obj : machineprimitives_arm.S
	$(ASSEMBLER) -o machineprimitives_arm.obj machineprimitives_arm.S

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

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

clean:
	echo "Clean with: nmake clean"

include Depend