Subversion Repositories Kolibri OS

Rev

Rev 6938 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6938 Rev 7146
1
CC = kos32-gcc
1
CC = kos32-gcc
2
LD = ld
2
LD = ld
3
AS = as
3
AS = as
4
FASM = fasm.exe
4
FASM = fasm.exe
5
 
5
 
6
DEFINES	 = -DDRM_DEBUG_CODE=0 -D__KERNEL__ -DCONFIG_X86 -DCONFIG_X86_32 -DCONFIG_PCI
6
DEFINES	 = -DDRM_DEBUG_CODE=0 -D__KERNEL__ -DCONFIG_X86 -DCONFIG_X86_32 -DCONFIG_PCI
7
DEFINES += -DCONFIG_X86_CMPXCHG64 -DCONFIG_TINY_RCU -DCONFIG_X86_L1_CACHE_SHIFT=6
7
DEFINES += -DCONFIG_X86_CMPXCHG64 -DCONFIG_TINY_RCU -DCONFIG_X86_L1_CACHE_SHIFT=6
8
DEFINES += -DCONFIG_DRM_FBDEV_EMULATION -DCONFIG_DMI
8
DEFINES += -DCONFIG_DRM_FBDEV_EMULATION -DCONFIG_DMI
9
DEFINES += -DKBUILD_MODNAME=\"ati.dll\"
9
DEFINES += -DKBUILD_MODNAME=\"ati.dll\"
10
 
10
 
11
DDK_TOPDIR   = $(CURDIR)/../../..
11
DDK_TOPDIR   = $(CURDIR)/../../..
12
DDK_INCLUDES = $(DRV_TOPDIR)/include
12
DDK_INCLUDES = $(DRV_TOPDIR)/include
13
DRM_TOPDIR   = $(CURDIR)/..
13
DRM_TOPDIR   = $(CURDIR)/..
14
 
14
 
15
INCLUDES =	-I$(DDK_INCLUDES)	\
15
INCLUDES =	-I$(DDK_INCLUDES)	\
16
		-I$(DDK_INCLUDES)/asm 	\
16
		-I$(DDK_INCLUDES)/asm 	\
17
		-I$(DDK_INCLUDES)/uapi	\
17
		-I$(DDK_INCLUDES)/uapi	\
18
		-I$(DDK_INCLUDES)/drm -I./
18
		-I$(DDK_INCLUDES)/drm -I./
19
 
19
 
20
CFLAGS= -c -O2 $(INCLUDES) $(DEFINES) -march=i686 -fno-ident -fomit-frame-pointer -fno-builtin-printf
20
CFLAGS= -c -O2 $(INCLUDES) $(DEFINES) -march=i686 -fno-ident -fomit-frame-pointer -fno-builtin-printf
21
CFLAGS+= -mno-stack-arg-probe -mpreferred-stack-boundary=2 -mincoming-stack-boundary=2 -mno-ms-bitfields
21
CFLAGS+= -mno-stack-arg-probe -mpreferred-stack-boundary=2 -mincoming-stack-boundary=2 -mno-ms-bitfields
22
 
22
 
23
LIBPATH:= $(DDK_TOPDIR)
23
LIBPATH:= $(DDK_TOPDIR)
24
 
24
 
25
LIBS:=    -lddk -lcore -lgcc
25
LIBS:=    -lddk -lcore -lgcc
26
 
26
 
27
PE_FLAGS = --major-os-version 0 --minor-os-version 7 --major-subsystem-version 0 \
27
PE_FLAGS = --major-os-version 0 --minor-os-version 7 --major-subsystem-version 0 \
28
          --minor-subsystem-version 5 --subsystem native
28
          --minor-subsystem-version 5 --subsystem native
29
 
29
 
30
LDFLAGS = -nostdlib -shared -s $(PE_FLAGS) --image-base 0\
30
LDFLAGS = -nostdlib -shared -s $(PE_FLAGS) --image-base 0\
31
	  --file-alignment 512 --section-alignment 4096
31
	  --file-alignment 512 --section-alignment 4096
32
 
32
 
33
 
33
 
34
NAME:=	  atikms
34
NAME:=	  atikms
35
 
-
 
36
HFILES:=     		$(DDK_INCLUDES)/linux/types.h		\
-
 
37
			$(DDK_INCLUDES)/linux/list.h		\
-
 
38
			$(DDK_INCLUDES)/linux/pci.h		\
-
 
39
			$(DDK_INCLUDES)/drm/drmP.h		\
-
 
40
			$(DDK_INCLUDES)/drm/drm_edid.h		\
-
 
41
			$(DDK_INCLUDES)/drm/drm_crtc.h		\
-
 
42
			$(DDK_INCLUDES)/drm/drm_mm.h		\
-
 
43
			atom.h					\
-
 
44
			radeon.h				\
-
 
45
			radeon_asic.h
-
 
46
 
35
 
47
NAME_SRC=							\
36
NAME_SRC=							\
48
			main.c					\
37
			main.c					\
49
			pci.c					\
38
			pci.c					\
50
			../ttm/ttm_bo.c				\
39
			../ttm/ttm_bo.c				\
51
			../ttm/ttm_bo_manager.c			\
40
			../ttm/ttm_bo_manager.c			\
52
			../ttm/ttm_bo_util.c			\
41
			../ttm/ttm_bo_util.c			\
53
			../ttm/ttm_execbuf_util.c		\
42
			../ttm/ttm_execbuf_util.c		\
54
			../ttm/ttm_memory.c			\
43
			../ttm/ttm_memory.c			\
55
			../ttm/ttm_page_alloc.c			\
44
			../ttm/ttm_page_alloc.c			\
56
			../ttm/ttm_tt.c				\
45
			../ttm/ttm_tt.c				\
57
			$(DRM_TOPDIR)/drm_atomic.c		\
46
			$(DRM_TOPDIR)/drm_atomic.c		\
58
			$(DRM_TOPDIR)/drm_atomic_helper.c	\
47
			$(DRM_TOPDIR)/drm_atomic_helper.c	\
59
			$(DRM_TOPDIR)/drm_bridge.c		\
48
			$(DRM_TOPDIR)/drm_bridge.c		\
60
			$(DRM_TOPDIR)/drm_cache.c		\
49
			$(DRM_TOPDIR)/drm_cache.c		\
61
			$(DRM_TOPDIR)/drm_crtc.c		\
50
			$(DRM_TOPDIR)/drm_crtc.c		\
62
			$(DRM_TOPDIR)/drm_crtc_helper.c		\
51
			$(DRM_TOPDIR)/drm_crtc_helper.c		\
63
			$(DRM_TOPDIR)/drm_dp_helper.c		\
52
			$(DRM_TOPDIR)/drm_dp_helper.c		\
64
			$(DRM_TOPDIR)/drm_dp_mst_topology.c	\
53
			$(DRM_TOPDIR)/drm_dp_mst_topology.c	\
65
			$(DRM_TOPDIR)/drm_drv.c			\
54
			$(DRM_TOPDIR)/drm_drv.c			\
66
			$(DRM_TOPDIR)/drm_edid.c		\
55
			$(DRM_TOPDIR)/drm_edid.c		\
67
			$(DRM_TOPDIR)/drm_fb_helper.c		\
56
			$(DRM_TOPDIR)/drm_fb_helper.c		\
68
			$(DRM_TOPDIR)/drm_gem.c			\
57
			$(DRM_TOPDIR)/drm_gem.c			\
69
			$(DRM_TOPDIR)/drm_global.c		\
58
			$(DRM_TOPDIR)/drm_global.c		\
70
			$(DRM_TOPDIR)/drm_irq.c			\
59
			$(DRM_TOPDIR)/drm_irq.c			\
71
			$(DRM_TOPDIR)/drm_mm.c			\
60
			$(DRM_TOPDIR)/drm_mm.c			\
72
			$(DRM_TOPDIR)/drm_modes.c		\
61
			$(DRM_TOPDIR)/drm_modes.c		\
73
			$(DRM_TOPDIR)/drm_modeset_lock.c	\
62
			$(DRM_TOPDIR)/drm_modeset_lock.c	\
74
			$(DRM_TOPDIR)/drm_pci.c			\
63
			$(DRM_TOPDIR)/drm_pci.c			\
75
			$(DRM_TOPDIR)/drm_plane_helper.c	\
64
			$(DRM_TOPDIR)/drm_plane_helper.c	\
76
			$(DRM_TOPDIR)/drm_probe_helper.c	\
65
			$(DRM_TOPDIR)/drm_probe_helper.c	\
77
			$(DRM_TOPDIR)/drm_rect.c		\
66
			$(DRM_TOPDIR)/drm_rect.c		\
78
			$(DRM_TOPDIR)/drm_stub.c		\
67
			$(DRM_TOPDIR)/drm_stub.c		\
79
			$(DRM_TOPDIR)/drm_vma_manager.c		\
68
			$(DRM_TOPDIR)/drm_vma_manager.c		\
80
			$(DRM_TOPDIR)/i2c/i2c-core.c		\
69
			$(DRM_TOPDIR)/i2c/i2c-core.c		\
81
			$(DRM_TOPDIR)/i2c/i2c-algo-bit.c	\
70
			$(DRM_TOPDIR)/i2c/i2c-algo-bit.c	\
82
			hmm.c					\
71
			hmm.c					\
83
			radeon_device.c				\
72
			radeon_device.c				\
84
			atom.c					\
73
			atom.c					\
85
			atombios_crtc.c				\
74
			atombios_crtc.c				\
86
			atombios_dp.c				\
75
			atombios_dp.c				\
87
			atombios_encoders.c			\
76
			atombios_encoders.c			\
88
			atombios_i2c.c				\
77
			atombios_i2c.c				\
89
			btc_dpm.c				\
78
			btc_dpm.c				\
90
			cayman_blit_shaders.c			\
79
			cayman_blit_shaders.c			\
91
			ci_dpm.c				\
80
			ci_dpm.c				\
92
			ci_smc.c				\
81
			ci_smc.c				\
93
			cik.c					\
82
			cik.c					\
94
			cik_blit_shaders.c			\
83
			cik_blit_shaders.c			\
95
			cik_sdma.c				\
84
			cik_sdma.c				\
96
			cypress_dpm.c				\
85
			cypress_dpm.c				\
97
			dce3_1_afmt.c				\
86
			dce3_1_afmt.c				\
98
			dce6_afmt.c				\
87
			dce6_afmt.c				\
99
			evergreen.c				\
88
			evergreen.c				\
100
			evergreen_blit_shaders.c		\
89
			evergreen_blit_shaders.c		\
101
			evergreen_cs.c				\
90
			evergreen_cs.c				\
102
			evergreen_dma.c				\
91
			evergreen_dma.c				\
103
			evergreen_hdmi.c			\
92
			evergreen_hdmi.c			\
104
			kv_dpm.c				\
93
			kv_dpm.c				\
105
			kv_smc.c				\
94
			kv_smc.c				\
106
			ni.c					\
95
			ni.c					\
107
			ni_dma.c				\
96
			ni_dma.c				\
108
			ni_dpm.c				\
97
			ni_dpm.c				\
109
			radeon_agp.c				\
98
			radeon_agp.c				\
110
			radeon_asic.c				\
99
			radeon_asic.c				\
111
			radeon_atombios.c			\
100
			radeon_atombios.c			\
112
			radeon_audio.c				\
101
			radeon_audio.c				\
113
			radeon_benchmark.c			\
102
			radeon_benchmark.c			\
114
			radeon_bios.c				\
103
			radeon_bios.c				\
115
			radeon_combios.c			\
104
			radeon_combios.c			\
116
			radeon_connectors.c			\
105
			radeon_connectors.c			\
117
			radeon_cs.c				\
106
			radeon_cs.c				\
118
			radeon_clocks.c				\
107
			radeon_clocks.c				\
119
			radeon_display.c			\
108
			radeon_display.c			\
120
			radeon_dp_auxch.c			\
109
			radeon_dp_auxch.c			\
121
			radeon_dp_mst.c				\
110
			radeon_dp_mst.c				\
122
			radeon_encoders.c			\
111
			radeon_encoders.c			\
123
			radeon_fence.c				\
112
			radeon_fence.c				\
124
			radeon_fb.c				\
113
			radeon_fb.c				\
125
			radeon_gart.c				\
114
			radeon_gart.c				\
126
			radeon_gem.c				\
115
			radeon_gem.c				\
127
			radeon_i2c.c				\
116
			radeon_i2c.c				\
128
			radeon_ib.c				\
117
			radeon_ib.c				\
129
			radeon_irq_kms.c			\
118
			radeon_irq_kms.c			\
130
			radeon_kms.c				\
119
			radeon_kms.c				\
131
			radeon_legacy_crtc.c			\
120
			radeon_legacy_crtc.c			\
132
			radeon_legacy_encoders.c		\
121
			radeon_legacy_encoders.c		\
133
			radeon_legacy_tv.c			\
122
			radeon_legacy_tv.c			\
134
			radeon_object.c				\
123
			radeon_object.c				\
135
			radeon_pm.c				\
124
			radeon_pm.c				\
136
			radeon_ring.c				\
125
			radeon_ring.c				\
137
			radeon_sa.c				\
126
			radeon_sa.c				\
138
			radeon_semaphore.c			\
127
			radeon_semaphore.c			\
139
			radeon_sync.c				\
128
			radeon_sync.c				\
140
			radeon_test.c				\
129
			radeon_test.c				\
141
			radeon_ttm.c				\
130
			radeon_ttm.c				\
142
			radeon_ucode.c				\
131
			radeon_ucode.c				\
143
			radeon_uvd.c				\
132
			radeon_uvd.c				\
144
			radeon_vce.c				\
133
			radeon_vce.c				\
145
			radeon_vm.c				\
134
			radeon_vm.c				\
146
			rdisplay_kms.c				\
135
			rdisplay_kms.c				\
147
			r100.c					\
136
			r100.c					\
148
			r200.c					\
137
			r200.c					\
149
			r300.c					\
138
			r300.c					\
150
			r420.c					\
139
			r420.c					\
151
			rv515.c					\
140
			rv515.c					\
152
			rv730_dpm.c				\
141
			rv730_dpm.c				\
153
			rv740_dpm.c				\
142
			rv740_dpm.c				\
154
			r520.c					\
143
			r520.c					\
155
			r600.c					\
144
			r600.c					\
156
			r600_blit_shaders.c			\
145
			r600_blit_shaders.c			\
157
			r600_cs.c				\
146
			r600_cs.c				\
158
			r600_dma.c				\
147
			r600_dma.c				\
159
			r600_dpm.c				\
148
			r600_dpm.c				\
160
			r600_hdmi.c				\
149
			r600_hdmi.c				\
161
			rs400.c					\
150
			rs400.c					\
162
			rs600.c					\
151
			rs600.c					\
163
			rs690.c					\
152
			rs690.c					\
164
			rv6xx_dpm.c				\
153
			rv6xx_dpm.c				\
165
			rs780_dpm.c				\
154
			rs780_dpm.c				\
166
			rv770.c					\
155
			rv770.c					\
167
			rv770_dma.c				\
156
			rv770_dma.c				\
168
			rv770_dpm.c				\
157
			rv770_dpm.c				\
169
			rv770_smc.c				\
158
			rv770_smc.c				\
170
			rdisplay.c				\
159
			rdisplay.c				\
171
			cmdline.c				\
160
			cmdline.c				\
172
			si.c					\
161
			si.c					\
173
			si_blit_shaders.c			\
162
			si_blit_shaders.c			\
174
			si_dma.c				\
163
			si_dma.c				\
175
			si_dpm.c				\
164
			si_dpm.c				\
176
			si_smc.c				\
165
			si_smc.c				\
177
			sumo_dpm.c				\
166
			sumo_dpm.c				\
178
			sumo_smc.c				\
167
			sumo_smc.c				\
179
			trinity_dpm.c				\
168
			trinity_dpm.c				\
180
			trinity_smc.c				\
169
			trinity_smc.c				\
181
			utils.c					\
170
			utils.c					\
182
			uvd_v1_0.c				\
171
			uvd_v1_0.c				\
183
			uvd_v2_2.c				\
172
			uvd_v2_2.c				\
184
			uvd_v3_1.c				\
173
			uvd_v3_1.c				\
185
			uvd_v4_2.c				\
174
			uvd_v4_2.c				\
186
			vce_v1_0.c				\
175
			vce_v1_0.c				\
187
			vce_v2_0.c				\
176
			vce_v2_0.c				\
188
			fwblob.asm
177
			fwblob.asm
189
 
178
 
190
FW_BINS=							\
179
FW_BINS=							\
191
			firmware/R100_cp.bin			\
180
			firmware/R100_cp.bin			\
192
			firmware/R200_cp.bin			\
181
			firmware/R200_cp.bin			\
193
			firmware/R300_cp.bin			\
182
			firmware/R300_cp.bin			\
194
			firmware/R420_cp.bin			\
183
			firmware/R420_cp.bin			\
195
			firmware/R520_cp.bin			\
184
			firmware/R520_cp.bin			\
196
								\
185
								\
197
			firmware/RS690_cp.bin			\
186
			firmware/RS690_cp.bin			\
198
			firmware/RS600_cp.bin			\
187
			firmware/RS600_cp.bin			\
199
			firmware/RS780_me.bin			\
188
			firmware/RS780_me.bin			\
200
			firmware/RS780_pfp.bin			\
189
			firmware/RS780_pfp.bin			\
201
								\
190
								\
202
			firmware/RV610_me.bin			\
191
			firmware/RV610_me.bin			\
203
			firmware/RV620_me.bin			\
192
			firmware/RV620_me.bin			\
204
			firmware/RV630_me.bin			\
193
			firmware/RV630_me.bin			\
205
			firmware/RV635_me.bin			\
194
			firmware/RV635_me.bin			\
206
			firmware/RV670_me.bin			\
195
			firmware/RV670_me.bin			\
207
			firmware/RV710_me.bin			\
196
			firmware/RV710_me.bin			\
208
			firmware/RV730_me.bin			\
197
			firmware/RV730_me.bin			\
209
			firmware/RV770_me.bin			\
198
			firmware/RV770_me.bin			\
210
								\
199
								\
211
			firmware/RV610_pfp.bin			\
200
			firmware/RV610_pfp.bin			\
212
			firmware/RV620_pfp.bin			\
201
			firmware/RV620_pfp.bin			\
213
			firmware/RV630_pfp.bin			\
202
			firmware/RV630_pfp.bin			\
214
			firmware/RV635_pfp.bin			\
203
			firmware/RV635_pfp.bin			\
215
			firmware/RV670_pfp.bin			\
204
			firmware/RV670_pfp.bin			\
216
			firmware/RV710_pfp.bin			\
205
			firmware/RV710_pfp.bin			\
217
			firmware/RV730_pfp.bin			\
206
			firmware/RV730_pfp.bin			\
218
			firmware/RV770_pfp.bin			\
207
			firmware/RV770_pfp.bin			\
219
								\
208
								\
220
			firmware/R600_rlc.bin			\
209
			firmware/R600_rlc.bin			\
221
			firmware/R700_rlc.bin
210
			firmware/R700_rlc.bin
222
 
211
 
223
 
212
 
224
SRC_DEP:=    
213
SRC_DEP:=    
225
 
214
 
226
 
215
 
227
NAME_OBJS =  $(patsubst %.S, %.o, $(patsubst %.asm, %.o,\
216
NAME_OBJS =  $(patsubst %.S, %.o, $(patsubst %.asm, %.o,\
228
            $(patsubst %.c, %.o, $(NAME_SRC))))
217
            $(patsubst %.c, %.o, $(NAME_SRC))))
229
 
218
 
230
 
219
 
231
 
220
 
232
all: $(NAME).dll
221
all: $(NAME).dll
233
 
222
 
234
$(NAME).dll: $(NAME_OBJS) $(FW_BINS) $(SRC_DEP) $(HFILES) $(LIBPATH)/libcore.a $(LIBPATH)/libddk.a atikms.lds Makefile
223
$(NAME).dll: $(NAME_OBJS) $(FW_BINS) $(SRC_DEP) $(LIBPATH)/libcore.a $(LIBPATH)/libddk.a atikms.lds Makefile
235
	$(LD) -L$(LIBPATH) $(LDFLAGS) -T atikms.lds -o $@ $(NAME_OBJS) $(LIBS)  
224
	$(LD) -L$(LIBPATH) $(LDFLAGS) -T atikms.lds -o $@ $(NAME_OBJS) $(LIBS)  
236
 
225
 
237
 
226
 
238
%.o : %.c $(HFILES) Makefile
227
%.o : %.c $(HFILES) Makefile
239
	$(CC) $(CFLAGS) -o $@ $<
228
	$(CC) $(CFLAGS) -o $@ $<
240
 
229
 
241
%.o : %.S $(HFILES) Makefile
230
%.o : %.S $(HFILES) Makefile
242
	$(AS) -o $@ $<
231
	$(AS) -o $@ $<
243
 
232
 
244
fwblob.o:  fwblob.asm $(FW_BINS) Makefile
233
fwblob.o:  fwblob.asm $(FW_BINS) Makefile
245
	$(FASM) $< $@
234
	$(FASM) $< $@
246
 
235
 
247
 
236
 
248
clean: 
237
clean: 
249
	-rm -f */*.o
238
	-rm -f */*.o
250
 
239
 
251
fwblob.o:>
240
fwblob.o:>
252
 
241
 
253
%.o>
242
%.o>