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