1CC = cl
2OPENSSL_DIR = C:\OpenSSL-Win32
3PTHREADS_DIR = C:\pthreads-w32-2-8-0-release
4PCRE_DIR = C:\pcre-7.9-src
5CURL_DIR = C:\curl-7.26.0-x86\builds\libcurl-release-static-ssl-static-ipv6-sspi
6OPENCL_DIR = "C:\Program Files (x86)\AMD APP"
7OPENCL_INCLUDE = /I$(OPENCL_DIR)\include
8OPENCL_LIBS = $(OPENCL_DIR)\lib\x86\OpenCL.lib
9CURL_INCLUDE = /I$(CURL_DIR)\include /DCURL_STATICLIB
10CURL_LIBS = $(CURL_DIR)\lib\libcurl_a.lib
11CFLAGS_BASE = /D_WIN32 /DPTW32_STATIC_LIB /DPCRE_STATIC /I$(OPENSSL_DIR)\inc32 /I$(PTHREADS_DIR) /I$(PCRE_DIR) /Ox /Zi
12CFLAGS = $(CFLAGS_BASE) /GL
13LIBS = $(OPENSSL_DIR)\out32\libeay32.lib $(PTHREADS_DIR)\pthreadVC2.lib $(PCRE_DIR)\pcre.lib ws2_32.lib user32.lib advapi32.lib gdi32.lib /LTCG /DEBUG
14OBJS = vanitygen.obj oclvanitygen.obj oclengine.obj oclvanityminer.obj keyconv.obj pattern.obj util.obj winglue.obj
15
16all: vanitygen.exe keyconv.exe
17
18vanitygen.exe: vanitygen.obj pattern.obj util.obj winglue.obj
19	link /nologo /out:$@ $** $(LIBS)
20
21oclvanitygen.exe: oclvanitygen.obj oclengine.obj pattern.obj util.obj winglue.obj
22	link /nologo /out:$@ $** $(LIBS) $(OPENCL_LIBS)
23
24oclvanityminer.exe: oclvanityminer.obj oclengine.obj pattern.obj util.obj winglue.obj
25	link /nologo /out:$@ $** $(LIBS) $(OPENCL_LIBS) $(CURL_LIBS)
26
27keyconv.exe: keyconv.obj util.obj winglue.obj
28	link /nologo /out:$@ $** $(LIBS)
29
30.c.obj:
31	@$(CC) /nologo $(CFLAGS) /c /Tp$< /Fo$@
32
33oclengine.obj: oclengine.c
34	@$(CC) /nologo $(CFLAGS_BASE) $(OPENCL_INCLUDE) /c /Tpoclengine.c /Fo$@
35
36oclvanitygen.obj: oclvanitygen.c
37	@$(CC) /nologo $(CFLAGS_BASE) /c /Tpoclvanitygen.c /Fo$@
38
39oclvanityminer.obj: oclvanityminer.c
40	@$(CC) /nologo $(CFLAGS_BASE) $(CURL_INCLUDE) /c /Tpoclvanityminer.c /Fo
41
42clean:
43	del vanitygen.exe oclvanitygen.exe oclvanityminer.exe keyconv.exe $(OBJS)
44