# This Makefile can be used with Microsoft Visual Studio's nmake using the command:
#    nmake /f Makefile.Microsoft_nmake

LIBRARY=libsphincs-shake256-192f-simple_avx2.lib
OBJECTS=address.obj wots.obj utils.obj utilsx4.obj fips202x4.obj fors.obj sign.obj hash_shake256.obj thash_shake256_simple.obj hash_shake256x4.obj thash_shake256_simplex4.obj

KECCAK4XDIR=..\..\..\common\keccak4x
KECCAK4XOBJ=KeccakP-1600-times4-SIMD256.obj
KECCAK4X=$(KECCAK4XDIR)\$(KECCAK4XOBJ)

CFLAGS=/nologo /arch:AVX2 /O2 /I ..\..\..\common /W4 /WX

all: $(LIBRARY)

# Make sure objects are recompiled if headers change.
$(OBJECTS): *.h

$(LIBRARY): $(OBJECTS) $(KECCAK4X)
	LIB.EXE /NOLOGO /WX /OUT:$@ $**

$(KECCAK4X):
	cd $(KECCAK4XDIR) && $(MAKE) /f Makefile.Microsoft_nmake $(KECCAK4XOBJ)

clean:
	-DEL $(OBJECTS)
	-DEL $(LIBRARY)
	-DEL $(KECCAK4X)
