Split definitions of *_info_ret to own header file
[clinfo] / Makefile.win
1 # TODO FIXME find a better way to detect the directory to use\r
2 # for OpenCL development files\r
3 !IF "$(OPENCLDIR)" == ""\r
4 OPENCLDIR = $(INTELOCLSDKROOT)\r
5 !ENDIF\r
6 !IF "$(OPENCLDIR)" == ""\r
7 OPENCLDIR = $(AMDAPPSDKROOT)\r
8 !ENDIF\r
9 !IF "$(OPENCLDIR)" == ""\r
10 OPENCLDIR = $(MAKEDIR)\r
11 !ENDIF\r
12 !IF "$(OPENCLDIR)" == ""\r
13 OPENCLDIR = .\r
14 !ENDIF\r
15 !MESSAGE OpenCL dir: $(OPENCLDIR)\r
16 \r
17 \r
18 HDR =   src/error.h \\r
19         src/ext.h \\r
20         src/ctx_prop.h \\r
21         src/fmtmacros.h \\r
22         src/memory.h \\r
23         src/ms_support.h \\r
24         src/info_loc.h \\r
25         src/info_ret.h \\r
26         src/strbuf.h\r
27 \r
28 CFLAGS = /GL /Ox /W4 /Zi /I"$(OPENCLDIR)\include" /nologo\r
29 LIBS = libOpenCL.a\r
30 \r
31 # TODO there's most likely a better way to do the multiarch\r
32 # switching\r
33 !IF "$(PROCESSOR_ARCHITECTURE)" == "AMD64"\r
34 ARCH=64\r
35 !ELSE\r
36 ARCH=32\r
37 !ENDIF\r
38 \r
39 # Platform=x64 in the 64-bit cross-platform build of my VS\r
40 !IF "$(PLATFORM)" == "x64" || "$(PLATFORM)" == "X64"\r
41 ARCH=64\r
42 !ELSE IF "$(PLATFORM)" == "x86" || "$(PLATFORM)" == "X86"\r
43 ARCH=32\r
44 !ENDIF\r
45 \r
46 !MESSAGE Building for $(ARCH)-bit (processor architecture: $(PROCESSOR_ARCHITECTURE), platform: $(PLATFORM))\r
47 \r
48 LIBPATH32 = /LIBPATH:"$(OPENCLDIR)\lib" /LIBPATH:"$(OPENCLDIR)\lib\x86"\r
49 LIBPATH64 = /LIBPATH:"$(OPENCLDIR)\lib\x64" /LIBPATH:"$(OPENCLDIR)\lib\x86_64" /LIBPATH:"$(OPENCLDIR)\lib\x86_amd64"\r
50 \r
51 # And since we can't do $(LIBPATH$(ARCH)) with nmake ...\r
52 !IF "$(ARCH)" == "64"\r
53 LINKOPTS = /LTCG $(LIBPATH64) /nologo\r
54 !ELSE\r
55 LINKOPTS = /LTCG $(LIBPATH32) /nologo\r
56 !ENDIF\r
57 \r
58 clinfo.exe: clinfo.obj\r
59         link $(LINKOPTS) $(LIBS) clinfo.obj /out:clinfo.exe\r
60 \r
61 clinfo.obj: src/clinfo.c $(HDR)\r
62         $(CC) $(CFLAGS) /c src/clinfo.c /Foclinfo.obj\r
63 \r
64 clean:\r
65         del /F /Q clinfo.exe clinfo.obj\r
66 \r
67 .PHONY: clean\r
68 \r