Subversion Repositories Kolibri OS

Rev

Rev 3120 | Rev 3764 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

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