# Evgenii B. Rudnyi, http://Evgenii.Rudnyi.Ru

CC = gcc
CXX = g++
CFLAG = -s -O3 -Wl,--stack=50000000
CXXFLAG = -s -O3

CCVC = cl
CXXVC = cl
CFLAGVC = -O2 -nologo
CXXFLAGVC = -EHsc -O2 -nologo -DUSECLOCK

all: direct1-gcc.exe direct1-vc.exe direct2-gcc.exe direct2-vc.exe direct-gcc.exe direct-vc.exe

direct1-gcc.exe: direct1.c
	$(CC) $(CFLAG) $< -o $@
	$@

direct1-vc.exe: direct1.c
	$(CCVC) $(CFLAGVC) $< -link -STACK:50000000 -out:$@
	$@

direct2-gcc.exe: direct2.c
	$(CC) $(CFLAG) $< -o $@
	$@

direct2-vc.exe: direct2.c
	$(CCVC) $(CFLAGVC) $< -link -STACK:50000000 -out:$@
	$@

direct-gcc.exe: direct.cc
	$(CXX) $(CXXFLAG) $< -o $@
	$@ 1000

direct-vc.exe: direct.cc
	$(CXXVC) $(CXXFLAGVC) $< -link -out:$@
	$@ 1000

clean:
	rm -f *.exe *.o *.obj
