MSG=0857bde36f680cda9535784bc4aec5f4344131071b419f732ac9c74d0e61db49dd958c7344236e0279df009c6e66aec6ba574c2820d4aeb0c4d814c8e184c6ea7e6d8aa3e15d1c251c78c5364ea2b3edb3c19e90739afa765506242e78fcdc71a87efdfe2df6ce6039fc62cb3b360cb77cd5574292282df352886cbc3fcfbff2
E=10001
MOD=F765A3A0C9C291D81A56FE73794A746B8DA23DBE155D0D495B49D581B5C6545F449A10FDF1C26A92FBD1F43A0687044927A6A21B69A73999E6083D03ACDAFFA6409F1BC71D810628F6E18F76231ED6E22D54ED2502E66F8A33D0D5F07B3EB605F7418110E2EF9A5EE77B070F4EADFCF3D70C53E870F29C9D4F229F2CB6C25383

MSCC=cl
GCC=g++

.PHONY: all
all: modexp2ms.exe modexp2gc.exe modexp3ms.exe modexp3gc.exe

modexp2ms.exe: modexp2.cpp
	$(MSCC) /Zi /EHsc $^ /Fe"$@"
modexp3ms.exe: modexp3.cpp
	$(MSCC) /Zi /EHsc $^ /Fe"$@"
modexp2gc.exe: modexp2.cpp
	$(GCC) -g $^ -o $@
modexp3gc.exe: modexp3.cpp
	$(GCC) -g $^ -o $@

.PHONY: test
test:
	modexp3ms $(MSG) $(E) $(MOD)
	modexp2ms $(MSG) $(E) $(MOD)

.PHONY: clean
clean:
	rm -f modexp2ms.* modexp3ms.* modexp2gc.* modexp3gc.* *.ilk *.obj *.exe *.pdb *.suo *.stackdump
