Rev 3120 | Rev 5078 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3120 | Rev 3764 | ||
---|---|---|---|
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 |
7 | DEFINES = -D__KERNEL__ -DCONFIG_X86_32 |
8 | 8 | ||
9 | DRV_TOPDIR = $(CURDIR)/../../.. |
9 | DRV_TOPDIR = $(CURDIR)/../../.. |
10 | DRM_TOPDIR = $(CURDIR)/.. |
10 | DRM_TOPDIR = $(CURDIR)/.. |
11 | 11 | ||
12 | DRV_INCLUDES = $(DRV_TOPDIR)/include |
12 | DRV_INCLUDES = $(DRV_TOPDIR)/include |
13 | 13 | ||
14 | INCLUDES = -I$(DRV_INCLUDES) -I$(DRV_INCLUDES)/drm \ |
14 | INCLUDES = -I$(DRV_INCLUDES) -I$(DRV_INCLUDES)/drm \ |
15 | -I$(DRV_INCLUDES)/linux |
15 | -I$(DRV_INCLUDES)/linux |
16 | 16 | ||
17 | CFLAGS_OPT = -Os -march=i686 -fomit-frame-pointer -fno-builtin-printf -mno-stack-arg-probe -mpreferred-stack-boundary=2 -mincoming-stack-boundary=2 -flto |
17 | CFLAGS_OPT = -Os -march=i686 -fomit-frame-pointer -fno-builtin-printf -mno-stack-arg-probe -mpreferred-stack-boundary=2 -mincoming-stack-boundary=2 -flto |
18 | CFLAGS = -c $(INCLUDES) $(DEFINES) $(CFLAGS_OPT) |
18 | CFLAGS = -c $(INCLUDES) $(DEFINES) $(CFLAGS_OPT) |
19 | 19 | ||
20 | LIBPATH:= $(DRV_TOPDIR)/ddk |
20 | LIBPATH:= $(DRV_TOPDIR)/ddk |
21 | 21 | ||
22 | LIBS:= -lddk -lcore |
22 | LIBS:= -lddk -lcore |
23 | 23 | ||
24 | LDFLAGS = -nostdlib,-shared,-s,-Map,atikms.map,--image-base,0,--file-alignment,512,--section-alignment,4096 |
24 | LDFLAGS = -nostdlib,-shared,-s,-Map,atikms.map,--image-base,0,--file-alignment,512,--section-alignment,4096 |
25 | 25 | ||
26 | 26 | ||
27 | NAME:= atikms |
27 | NAME:= atikms |
28 | 28 | ||
29 | HFILES:= $(DRV_INCLUDES)/linux/types.h \ |
29 | HFILES:= $(DRV_INCLUDES)/linux/types.h \ |
30 | $(DRV_INCLUDES)/linux/list.h \ |
30 | $(DRV_INCLUDES)/linux/list.h \ |
31 | $(DRV_INCLUDES)/linux/pci.h \ |
31 | $(DRV_INCLUDES)/linux/pci.h \ |
32 | $(DRV_INCLUDES)/drm/drm.h \ |
32 | $(DRV_INCLUDES)/drm/drm.h \ |
33 | $(DRV_INCLUDES)/drm/drmP.h \ |
33 | $(DRV_INCLUDES)/drm/drmP.h \ |
34 | $(DRV_INCLUDES)/drm/drm_edid.h \ |
34 | $(DRV_INCLUDES)/drm/drm_edid.h \ |
35 | $(DRV_INCLUDES)/drm/drm_crtc.h \ |
35 | $(DRV_INCLUDES)/drm/drm_crtc.h \ |
36 | $(DRV_INCLUDES)/drm/drm_mode.h \ |
36 | $(DRV_INCLUDES)/drm/drm_mode.h \ |
37 | $(DRV_INCLUDES)/drm/drm_mm.h \ |
37 | $(DRV_INCLUDES)/drm/drm_mm.h \ |
38 | atom.h \ |
38 | atom.h \ |
39 | radeon.h \ |
39 | radeon.h \ |
40 | radeon_asic.h |
40 | radeon_asic.h |
41 | 41 | ||
42 | NAME_SRC= \ |
42 | NAME_SRC= \ |
43 | pci.c \ |
43 | pci.c \ |
44 | $(DRM_TOPDIR)/drm_crtc.c \ |
44 | $(DRM_TOPDIR)/drm_crtc.c \ |
45 | $(DRM_TOPDIR)/drm_crtc_helper.c \ |
45 | $(DRM_TOPDIR)/drm_crtc_helper.c \ |
46 | $(DRM_TOPDIR)/drm_dp_i2c_helper.c \ |
46 | $(DRM_TOPDIR)/drm_dp_i2c_helper.c \ |
47 | $(DRM_TOPDIR)/drm_edid.c \ |
47 | $(DRM_TOPDIR)/drm_edid.c \ |
48 | $(DRM_TOPDIR)/drm_fb_helper.c \ |
48 | $(DRM_TOPDIR)/drm_fb_helper.c \ |
49 | $(DRM_TOPDIR)/drm_irq.c \ |
49 | $(DRM_TOPDIR)/drm_irq.c \ |
50 | $(DRM_TOPDIR)/drm_mm.c \ |
50 | $(DRM_TOPDIR)/drm_mm.c \ |
51 | $(DRM_TOPDIR)/drm_modes.c \ |
51 | $(DRM_TOPDIR)/drm_modes.c \ |
52 | $(DRM_TOPDIR)/drm_pci.c \ |
52 | $(DRM_TOPDIR)/drm_pci.c \ |
53 | $(DRM_TOPDIR)/drm_stub.c \ |
53 | $(DRM_TOPDIR)/drm_stub.c \ |
54 | $(DRM_TOPDIR)/i2c/i2c-core.c \ |
54 | $(DRM_TOPDIR)/i2c/i2c-core.c \ |
55 | $(DRM_TOPDIR)/i2c/i2c-algo-bit.c \ |
55 | $(DRM_TOPDIR)/i2c/i2c-algo-bit.c \ |
56 | bitmap.c \ |
56 | r700_vs.c \ |
57 | hmm.c \ |
- | |
58 | r700_vs.c \ |
- | |
59 | radeon_device.c \ |
57 | radeon_device.c \ |
60 | evergreen.c \ |
58 | evergreen.c \ |
61 | evergreen_blit_shaders.c \ |
59 | evergreen_blit_shaders.c \ |
62 | evergreen_blit_kms.c \ |
60 | evergreen_blit_kms.c \ |
63 | evergreen_hdmi.c \ |
61 | evergreen_hdmi.c \ |
64 | cayman_blit_shaders.c \ |
62 | cayman_blit_shaders.c \ |
65 | radeon_clocks.c \ |
63 | radeon_clocks.c \ |
66 | atom.c \ |
64 | atom.c \ |
67 | ni.c \ |
65 | ni.c \ |
68 | radeon_agp.c \ |
66 | radeon_agp.c \ |
69 | radeon_asic.c \ |
67 | radeon_asic.c \ |
70 | radeon_atombios.c \ |
68 | radeon_atombios.c \ |
71 | radeon_benchmark.c \ |
69 | radeon_benchmark.c \ |
72 | radeon_bios.c \ |
70 | radeon_bios.c \ |
73 | radeon_combios.c \ |
71 | radeon_combios.c \ |
74 | radeon_connectors.c \ |
72 | radeon_connectors.c \ |
75 | atombios_crtc.c \ |
73 | atombios_crtc.c \ |
76 | atombios_dp.c \ |
74 | atombios_dp.c \ |
77 | atombios_encoders.c \ |
75 | atombios_encoders.c \ |
78 | atombios_i2c.c \ |
76 | atombios_i2c.c \ |
79 | radeon_encoders.c \ |
77 | radeon_encoders.c \ |
80 | radeon_fence.c \ |
78 | radeon_fence.c \ |
81 | radeon_gem.c \ |
79 | radeon_gem.c \ |
82 | radeon_i2c.c \ |
80 | radeon_i2c.c \ |
83 | radeon_irq_kms.c \ |
81 | radeon_irq_kms.c \ |
84 | radeon_legacy_crtc.c \ |
82 | radeon_legacy_crtc.c \ |
85 | radeon_legacy_encoders.c \ |
83 | radeon_legacy_encoders.c \ |
86 | radeon_legacy_tv.c \ |
84 | radeon_legacy_tv.c \ |
87 | radeon_display.c \ |
85 | radeon_display.c \ |
88 | radeon_gart.c \ |
86 | radeon_gart.c \ |
89 | radeon_ring.c \ |
87 | radeon_ring.c \ |
90 | radeon_object_kos.c \ |
88 | radeon_object_kos.c \ |
91 | radeon_sa.c \ |
89 | radeon_sa.c \ |
92 | radeon_semaphore.c \ |
90 | radeon_semaphore.c \ |
93 | radeon_pm.c \ |
91 | radeon_pm.c \ |
94 | r100.c \ |
92 | r100.c \ |
95 | r200.c \ |
93 | r200.c \ |
96 | r300.c \ |
94 | r300.c \ |
97 | r420.c \ |
95 | r420.c \ |
98 | rv515.c \ |
96 | rv515.c \ |
99 | r520.c \ |
97 | r520.c \ |
100 | r600.c \ |
98 | r600.c \ |
101 | r600_blit_kms.c \ |
99 | r600_blit_kms.c \ |
102 | r600_blit_shaders.c \ |
100 | r600_blit_shaders.c \ |
103 | r600_hdmi.c \ |
101 | r600_hdmi.c \ |
104 | rs400.c \ |
102 | rs400.c \ |
105 | rs600.c \ |
103 | rs600.c \ |
106 | rs690.c \ |
104 | rs690.c \ |
107 | rv770.c \ |
105 | rv770.c \ |
108 | radeon_fb.c \ |
106 | radeon_fb.c \ |
109 | rdisplay.c \ |
107 | rdisplay.c \ |
110 | rdisplay_kms.c \ |
108 | rdisplay_kms.c \ |
111 | cmdline.c \ |
109 | cmdline.c \ |
112 | si.c \ |
110 | si.c \ |
113 | si_blit_shaders.c \ |
111 | si_blit_shaders.c \ |
114 | fwblob.asm |
112 | fwblob.asm |
115 | 113 | ||
116 | FW_BINS= \ |
114 | FW_BINS= \ |
117 | firmware/R100_cp.bin \ |
115 | firmware/R100_cp.bin \ |
118 | firmware/R200_cp.bin \ |
116 | firmware/R200_cp.bin \ |
119 | firmware/R300_cp.bin \ |
117 | firmware/R300_cp.bin \ |
120 | firmware/R420_cp.bin \ |
118 | firmware/R420_cp.bin \ |
121 | firmware/R520_cp.bin \ |
119 | firmware/R520_cp.bin \ |
122 | \ |
120 | \ |
123 | firmware/RS690_cp.bin \ |
121 | firmware/RS690_cp.bin \ |
124 | firmware/RS600_cp.bin \ |
122 | firmware/RS600_cp.bin \ |
125 | firmware/RS780_me.bin \ |
123 | firmware/RS780_me.bin \ |
126 | firmware/RS780_pfp.bin \ |
124 | firmware/RS780_pfp.bin \ |
127 | \ |
125 | \ |
128 | firmware/RV610_me.bin \ |
126 | firmware/RV610_me.bin \ |
129 | firmware/RV620_me.bin \ |
127 | firmware/RV620_me.bin \ |
130 | firmware/RV630_me.bin \ |
128 | firmware/RV630_me.bin \ |
131 | firmware/RV635_me.bin \ |
129 | firmware/RV635_me.bin \ |
132 | firmware/RV670_me.bin \ |
130 | firmware/RV670_me.bin \ |
133 | firmware/RV710_me.bin \ |
131 | firmware/RV710_me.bin \ |
134 | firmware/RV730_me.bin \ |
132 | firmware/RV730_me.bin \ |
135 | firmware/RV770_me.bin \ |
133 | firmware/RV770_me.bin \ |
136 | \ |
134 | \ |
137 | firmware/RV610_pfp.bin \ |
135 | firmware/RV610_pfp.bin \ |
138 | firmware/RV620_pfp.bin \ |
136 | firmware/RV620_pfp.bin \ |
139 | firmware/RV630_pfp.bin \ |
137 | firmware/RV630_pfp.bin \ |
140 | firmware/RV635_pfp.bin \ |
138 | firmware/RV635_pfp.bin \ |
141 | firmware/RV670_pfp.bin \ |
139 | firmware/RV670_pfp.bin \ |
142 | firmware/RV710_pfp.bin \ |
140 | firmware/RV710_pfp.bin \ |
143 | firmware/RV730_pfp.bin \ |
141 | firmware/RV730_pfp.bin \ |
144 | firmware/RV770_pfp.bin \ |
142 | firmware/RV770_pfp.bin \ |
145 | \ |
143 | \ |
146 | firmware/R600_rlc.bin \ |
144 | firmware/R600_rlc.bin \ |
147 | firmware/R700_rlc.bin |
145 | firmware/R700_rlc.bin |
148 | 146 | ||
149 | 147 | ||
150 | SRC_DEP:= |
148 | SRC_DEP:= |
151 | 149 | ||
152 | 150 | ||
153 | NAME_OBJS = $(patsubst %.S, %.o, $(patsubst %.asm, %.o,\ |
151 | NAME_OBJS = $(patsubst %.S, %.o, $(patsubst %.asm, %.o,\ |
154 | $(patsubst %.c, %.o, $(NAME_SRC)))) |
152 | $(patsubst %.c, %.o, $(NAME_SRC)))) |
155 | 153 | ||
156 | all: $(NAME).dll |
154 | all: $(NAME).dll |
157 | 155 | ||
158 | $(NAME).dll: $(NAME_OBJS) $(FW_BINS) $(SRC_DEP) $(HFILES) $(LIBPATH)/libcore.a $(LIBPATH)/libddk.a atikms.lds Makefile.lto |
156 | $(NAME).dll: $(NAME_OBJS) $(FW_BINS) $(SRC_DEP) $(HFILES) $(LIBPATH)/libcore.a $(LIBPATH)/libddk.a atikms.lds Makefile.lto |
159 | $(CC) $(CFLAGS_OPT) -fwhole-program -nostdlib -Wl,-L$(LIBPATH),$(LDFLAGS),-T,atikms.lds -o $@ $(NAME_OBJS) $(LIBS) |
157 | $(CC) $(CFLAGS_OPT) -fwhole-program -nostdlib -Wl,-L$(LIBPATH),$(LDFLAGS),-T,atikms.lds -o $@ $(NAME_OBJS) $(LIBS) |
160 | 158 | ||
161 | 159 | ||
162 | %.o : %.c $(HFILES) Makefile.lto |
160 | %.o : %.c $(HFILES) Makefile.lto |
163 | $(CC) $(CFLAGS) -o $@ $< |
161 | $(CC) $(CFLAGS) -o $@ $< |
164 | 162 | ||
165 | %.o : %.S $(HFILES) Makefile.lto |
163 | %.o : %.S $(HFILES) Makefile.lto |
166 | $(AS) -o $@ $< |
164 | $(AS) -o $@ $< |
167 | 165 | ||
168 | fwblob.o: fwblob.asm $(FW_BINS) Makefile.lto |
166 | fwblob.o: fwblob.asm $(FW_BINS) Makefile.lto |
169 | $(FASM) $< $@> |
167 | $(FASM) $< $@> |
170 | 168 | ||
171 | fwblob.o:> |
169 | fwblob.o:> |
172 | 170 | ||
173 | %.o> |
171 | %.o> |