1# generate Direct3D11 temporary include
2
3ifdef HAVE_CROSS_COMPILE
4IDL_INCLUDES = -I/usr/include/wine/windows/ -I/usr/include/wine/wine/windows/
5else
6#ugly way to get the default location of standard idl files
7IDL_INCLUDES = -I/`echo $(MSYSTEM) | tr A-Z a-z`/$(BUILD)/include
8endif
9
10D3D11_COMMIT_ID := a0cd5afeb60be3be0860e9a203314c10485bb9b8
11D3D11_1_COMMIT_ID := aa6ab47929a9cac6897f38e630ce0bb88458e288
12D3D11_4_COMMIT_ID := 6a1e782bb60bb1a93b5ab20fe895394d9c0904c2
13DXGI12_COMMIT_ID := 790a6544347b53c314b9c6f1ea757a2d5504c67e
14DXGITYPE_COMMIT_ID := f4aba520d014ecfe3563e33860de001caf2804e2
15D3D11_IDL_URL := http://sourceforge.net/p/mingw-w64/mingw-w64/ci/$(D3D11_COMMIT_ID)/tree/mingw-w64-headers/direct-x/include/d3d11.idl?format=raw
16D3D11_1_H_URL := http://sourceforge.net/p/mingw-w64/mingw-w64/ci/$(D3D11_1_COMMIT_ID)/tree/mingw-w64-headers/direct-x/include/d3d11_1.h?format=raw
17D3D11_2_H_URL := http://sourceforge.net/p/mingw-w64/mingw-w64/ci/$(D3D11_1_COMMIT_ID)/tree/mingw-w64-headers/direct-x/include/d3d11_2.h?format=raw
18D3D11_3_H_URL := http://sourceforge.net/p/mingw-w64/mingw-w64/ci/$(D3D11_1_COMMIT_ID)/tree/mingw-w64-headers/direct-x/include/d3d11_3.h?format=raw
19D3D11_4_H_URL := http://sourceforge.net/p/mingw-w64/mingw-w64/ci/$(D3D11_4_COMMIT_ID)/tree/mingw-w64-headers/direct-x/include/d3d11_4.h?format=raw
20DXGI12_IDL_URL := http://sourceforge.net/p/mingw-w64/mingw-w64/ci/$(DXGI12_COMMIT_ID)/tree/mingw-w64-headers/direct-x/include/dxgi1_2.idl?format=raw
21DXGITYPE_H_URL := http://sourceforge.net/p/mingw-w64/mingw-w64/ci/$(DXGITYPE_COMMIT_ID)/tree/mingw-w64-headers/direct-x/include/dxgitype.h?format=raw
22DXGIFORMAT_H_URL := http://sourceforge.net/p/mingw-w64/mingw-w64/ci/$(DXGITYPE_COMMIT_ID)/tree/mingw-w64-headers/direct-x/include/dxgiformat.h?format=raw
23DXGI_IDL_URL := http://sourceforge.net/p/mingw-w64/mingw-w64/ci/$(DXGITYPE_COMMIT_ID)/tree/mingw-w64-headers/direct-x/include/dxgi.idl?format=raw
24DST_D3D11_H = $(PREFIX)/include/d3d11.h
25DST_D3D11_1_H = $(PREFIX)/include/d3d11_1.h
26DST_D3D11_2_H = $(PREFIX)/include/d3d11_2.h
27DST_D3D11_3_H = $(PREFIX)/include/d3d11_3.h
28DST_D3D11_4_H = $(PREFIX)/include/d3d11_4.h
29DST_DXGIDEBUG_H = $(PREFIX)/include/dxgidebug.h
30DST_DXGITYPE_H = $(PREFIX)/include/dxgitype.h
31DST_DXGIFORMAT_H = $(PREFIX)/include/dxgiformat.h
32DST_DXGI_IDL = $(PREFIX)/include/dxgi.idl
33DST_DXGI12_H = $(PREFIX)/include/dxgi1_2.h
34DST_DXGI13_H = $(PREFIX)/include/dxgi1_3.h
35DST_DXGI14_H = $(PREFIX)/include/dxgi1_4.h
36DST_DXGI15_H = $(PREFIX)/include/dxgi1_5.h
37DST_DXGI16_H = $(PREFIX)/include/dxgi1_6.h
38
39
40ifdef HAVE_WIN32
41PKGS += d3d11
42endif
43
44$(TARBALLS)/d3d11.idl:
45	$(call download_pkg,$(D3D11_IDL_URL),d3d11)
46
47$(TARBALLS)/d3d11_1.h:
48	$(call download_pkg,$(D3D11_1_H_URL),d3d11)
49
50$(TARBALLS)/d3d11_2.h:
51	$(call download_pkg,$(D3D11_2_H_URL),d3d11)
52
53$(TARBALLS)/d3d11_3.h:
54	$(call download_pkg,$(D3D11_3_H_URL),d3d11)
55
56$(TARBALLS)/d3d11_4.h:
57	$(call download_pkg,$(D3D11_4_H_URL),d3d11)
58
59$(TARBALLS)/dxgidebug.idl:
60	(cd $(TARBALLS) && patch -fp1) < $(SRC)/d3d11/dxgidebug.patch
61
62$(TARBALLS)/dxgi1_2.idl:
63	$(call download_pkg,$(DXGI12_IDL_URL),d3d11)
64
65$(TARBALLS)/dxgitype.h:
66	$(call download_pkg,$(DXGITYPE_H_URL),d3d11)
67
68$(TARBALLS)/dxgiformat.h:
69	$(call download_pkg,$(DXGIFORMAT_H_URL),d3d11)
70
71$(TARBALLS)/dxgi.idl:
72	$(call download_pkg,$(DXGI_IDL_URL),d3d11)
73
74.sum-d3d11: $(TARBALLS)/d3d11.idl $(TARBALLS)/d3d11_1.h $(TARBALLS)/d3d11_2.h $(TARBALLS)/d3d11_3.h $(TARBALLS)/d3d11_4.h $(TARBALLS)/dxgidebug.idl $(TARBALLS)/dxgi1_2.idl $(TARBALLS)/dxgitype.h $(TARBALLS)/dxgiformat.h $(TARBALLS)/dxgi.idl
75
76d3d11: .sum-d3d11
77	mkdir -p $@
78	cp $(TARBALLS)/d3d11.idl $@ && cd $@ && patch -fp1 < ../$(SRC)/d3d11/processor_format.patch
79
80dxgi12: .sum-d3d11
81	mkdir -p $@
82	cp $(TARBALLS)/dxgi1_2.idl $@ && cd $@ && patch -fp1 < ../$(SRC)/d3d11/dxgi12.patch
83
84$(DST_D3D11_H): d3d11
85	mkdir -p -- "$(PREFIX)/include/"
86	$(WIDL) -DBOOL=WINBOOL -I$(PREFIX)/include $(IDL_INCLUDES) -h -o $@ $</d3d11.idl
87
88$(DST_D3D11_1_H): $(TARBALLS)/d3d11_1.h
89	mkdir -p -- "$(PREFIX)/include/"
90	cp $(TARBALLS)/d3d11_1.h $@
91
92$(DST_D3D11_2_H): $(TARBALLS)/d3d11_2.h
93	mkdir -p -- "$(PREFIX)/include/"
94	cp $(TARBALLS)/d3d11_2.h $@
95
96$(DST_D3D11_3_H): $(TARBALLS)/d3d11_3.h
97	mkdir -p -- "$(PREFIX)/include/"
98	cp $(TARBALLS)/d3d11_3.h $@
99
100$(DST_D3D11_4_H): $(TARBALLS)/d3d11_4.h
101	mkdir -p -- "$(PREFIX)/include/"
102	cp $(TARBALLS)/d3d11_4.h $@
103
104$(DST_DXGIDEBUG_H): $(TARBALLS)/dxgidebug.idl
105	mkdir -p -- "$(PREFIX)/include/"
106	$(WIDL) -DBOOL=WINBOOL -I$(PREFIX)/include $(IDL_INCLUDES) -h -o $@ $<
107
108$(DST_DXGITYPE_H): $(TARBALLS)/dxgitype.h
109	mkdir -p -- "$(PREFIX)/include/"
110	cp $(TARBALLS)/dxgitype.h $@
111
112$(DST_DXGIFORMAT_H): $(TARBALLS)/dxgiformat.h
113	mkdir -p -- "$(PREFIX)/include/"
114	cp $(TARBALLS)/dxgiformat.h $@
115
116$(DST_DXGI_IDL): $(TARBALLS)/dxgi.idl
117	mkdir -p -- "$(PREFIX)/include/"
118	cp $(TARBALLS)/dxgi.idl $@
119
120$(DST_DXGI12_H): dxgi12
121	mkdir -p -- "$(PREFIX)/include/"
122	$(WIDL) -DBOOL=WINBOOL -I$(PREFIX)/include $(IDL_INCLUDES) -h -o $@ $</dxgi1_2.idl
123
124$(DST_DXGI13_H): $(SRC)/d3d11/dxgi1_3.idl $(DST_DXGI12_H)
125	mkdir -p -- "$(PREFIX)/include/"
126	$(WIDL) -DBOOL=WINBOOL -Idxgi12 -I$(PREFIX)/include $(IDL_INCLUDES) -h -o $@ $<
127
128$(DST_DXGI14_H): $(SRC)/d3d11/dxgi1_4.idl $(DST_DXGI13_H)
129	mkdir -p -- "$(PREFIX)/include/"
130	$(WIDL) -DBOOL=WINBOOL -Idxgi12 -I$(PREFIX)/include $(IDL_INCLUDES) -h -o $@ $<
131
132$(DST_DXGI15_H): $(SRC)/d3d11/dxgi1_5.idl $(DST_DXGI14_H)
133	mkdir -p -- "$(PREFIX)/include/"
134	$(WIDL) -DBOOL=WINBOOL -Idxgi12 -I$(PREFIX)/include $(IDL_INCLUDES) -h -o $@ $<
135
136$(DST_DXGI16_H): $(SRC)/d3d11/dxgi1_6.idl $(DST_DXGI15_H)
137	mkdir -p -- "$(PREFIX)/include/"
138	$(WIDL) -DBOOL=WINBOOL -Idxgi12 -I$(PREFIX)/include $(IDL_INCLUDES) -h -o $@ $<
139
140.dxgitype: $(DST_DXGITYPE_H) $(DST_DXGIFORMAT_H) $(DST_DXGI_IDL)
141	touch $@
142
143.dxgi12: .dxgitype $(DST_DXGI12_H)
144	touch $@
145
146.dxgi13: .dxgi12 $(DST_DXGI13_H)
147	touch $@
148
149.dxgi14: .dxgi13 $(DST_DXGI14_H)
150	touch $@
151
152.dxgi15: .dxgi14 $(DST_DXGI15_H)
153	touch $@
154
155.dxgi16: .dxgi15 $(DST_DXGI16_H)
156	touch $@
157
158.d3d11: $(DST_D3D11_H) $(DST_D3D11_1_H) $(DST_D3D11_2_H) $(DST_D3D11_3_H) $(DST_D3D11_4_H) $(DST_DXGIDEBUG_H) .dxgi16
159	touch $@
160