Subversion Repositories Kolibri OS

Rev

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

Rev 2005 Rev 2175
1
CC = gcc
1
CC = gcc
2
LD = ld
2
LD = ld
3
AS = as
3
AS = as
4
FASM = e:/fasm/fasm.exe
4
FASM = e:/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_mm.c			\
43
			$(DRM_TOPDIR)/drm_mm.c			\
44
			$(DRM_TOPDIR)/drm_irq.c			\
44
			$(DRM_TOPDIR)/drm_irq.c			\
45
			$(DRM_TOPDIR)/drm_edid.c		\
45
			$(DRM_TOPDIR)/drm_edid.c		\
46
			$(DRM_TOPDIR)/drm_modes.c		\
46
			$(DRM_TOPDIR)/drm_modes.c		\
47
			$(DRM_TOPDIR)/drm_crtc.c		\
47
			$(DRM_TOPDIR)/drm_crtc.c		\
48
			$(DRM_TOPDIR)/drm_crtc_helper.c		\
48
			$(DRM_TOPDIR)/drm_crtc_helper.c		\
49
			$(DRM_TOPDIR)/drm_fb_helper.c		\
49
			$(DRM_TOPDIR)/drm_fb_helper.c		\
50
			$(DRM_TOPDIR)/drm_dp_i2c_helper.c	\
50
			$(DRM_TOPDIR)/drm_dp_i2c_helper.c	\
51
			$(DRM_TOPDIR)/i2c/i2c-core.c		\
51
			$(DRM_TOPDIR)/i2c/i2c-core.c		\
52
			$(DRM_TOPDIR)/i2c/i2c-algo-bit.c	\
52
			$(DRM_TOPDIR)/i2c/i2c-algo-bit.c	\
53
			radeon_device.c				\
53
			tracker/bitmap.c			\
54
			evergreen.c				\
54
			r700_vs.c				\
-
 
55
			r600_video.c				\
-
 
56
			radeon_device.c				\
-
 
57
			evergreen.c				\
55
			evergreen_blit_shaders.c		\
58
			evergreen_blit_shaders.c		\
56
			evergreen_blit_kms.c			\
59
			evergreen_blit_kms.c			\
57
			cayman_blit_shaders.c			\
60
			cayman_blit_shaders.c			\
58
			radeon_clocks.c				\
61
			radeon_clocks.c				\
59
			atom.c					\
62
			atom.c					\
60
			ni.c					\
63
			ni.c					\
61
			radeon_agp.c				\
64
			radeon_agp.c				\
62
			radeon_asic.c				\
65
			radeon_asic.c				\
63
			radeon_atombios.c			\
66
			radeon_atombios.c			\
64
			radeon_benchmark.c			\
67
			radeon_benchmark.c			\
65
			radeon_bios.c				\
68
			radeon_bios.c				\
66
			radeon_combios.c			\
69
			radeon_combios.c			\
67
			radeon_connectors.c			\
70
			radeon_connectors.c			\
68
			atombios_crtc.c				\
71
			atombios_crtc.c				\
69
			atombios_dp.c				\
72
			atombios_dp.c				\
70
			radeon_encoders.c			\
73
			radeon_encoders.c			\
71
			radeon_fence.c				\
74
			radeon_fence.c				\
72
			radeon_gem.c				\
75
			radeon_gem.c				\
73
			radeon_i2c.c				\
76
			radeon_i2c.c				\
74
			radeon_irq_kms.c			\
77
			radeon_irq_kms.c			\
75
			radeon_legacy_crtc.c			\
78
			radeon_legacy_crtc.c			\
76
			radeon_legacy_encoders.c		\
79
			radeon_legacy_encoders.c		\
77
			radeon_legacy_tv.c			\
80
			radeon_legacy_tv.c			\
78
			radeon_display.c			\
81
			radeon_display.c			\
79
			radeon_gart.c				\
82
			radeon_gart.c				\
80
			radeon_ring.c				\
83
			radeon_ring.c				\
81
			radeon_object_kos.c			\
84
			radeon_object_kos.c			\
82
			radeon_pm.c				\
85
			radeon_pm.c				\
83
			r100.c					\
86
			r100.c					\
84
			r200.c					\
87
			r200.c					\
85
			r300.c					\
88
			r300.c					\
86
			r420.c					\
89
			r420.c					\
87
			rv515.c					\
90
			rv515.c					\
88
			r520.c					\
91
			r520.c					\
89
			r600.c					\
92
			r600.c					\
90
			r600_audio.c				\
93
			r600_audio.c				\
91
			r600_blit_kms.c				\
94
			r600_blit_kms.c				\
92
			r600_blit_shaders.c			\
95
			r600_blit_shaders.c			\
93
			r600_hdmi.c				\
96
			r600_hdmi.c				\
94
			rs400.c					\
97
			rs400.c					\
95
			rs600.c					\
98
			rs600.c					\
96
			rs690.c					\
99
			rs690.c					\
97
			rv770.c					\
100
			rv770.c					\
98
			radeon_fb.c				\
101
			radeon_fb.c				\
99
			rdisplay.c				\
102
			rdisplay.c				\
100
			rdisplay_kms.c				\
103
			rdisplay_kms.c				\
101
			cmdline.c				\
104
			cmdline.c				\
102
			fwblob.asm
105
			fwblob.asm
103
#			cursor.S
106
 
104
 
107
FW_BINS=							\
105
FW_BINS=							\
-
 
106
			firmware/R100_cp.bin			\
108
			firmware/R100_cp.bin			\
107
			firmware/R200_cp.bin			\
109
			firmware/R200_cp.bin			\
108
			firmware/R300_cp.bin			\
110
			firmware/R300_cp.bin			\
109
			firmware/R420_cp.bin			\
111
			firmware/R420_cp.bin			\
110
			firmware/R520_cp.bin			\
112
			firmware/R520_cp.bin			\
111
								\
113
								\
112
			firmware/RS690_cp.bin			\
114
			firmware/RS690_cp.bin			\
113
			firmware/RS600_cp.bin			\
115
			firmware/RS600_cp.bin			\
114
			firmware/RS780_me.bin			\
116
			firmware/RS780_me.bin			\
115
			firmware/RS780_pfp.bin			\
117
			firmware/RS780_pfp.bin			\
116
								\
118
								\
117
			firmware/RV610_me.bin			\
119
			firmware/RV610_me.bin			\
118
			firmware/RV620_me.bin			\
120
			firmware/RV620_me.bin			\
119
			firmware/RV630_me.bin			\
121
			firmware/RV630_me.bin			\
120
			firmware/RV635_me.bin			\
122
			firmware/RV635_me.bin			\
121
			firmware/RV670_me.bin			\
123
			firmware/RV670_me.bin			\
122
			firmware/RV710_me.bin			\
124
			firmware/RV710_me.bin			\
123
			firmware/RV730_me.bin			\
125
			firmware/RV730_me.bin			\
124
			firmware/RV770_me.bin			\
126
			firmware/RV770_me.bin			\
125
								\
127
								\
126
			firmware/RV610_pfp.bin			\
128
			firmware/RV610_pfp.bin			\
127
			firmware/RV620_pfp.bin			\
129
			firmware/RV620_pfp.bin			\
128
			firmware/RV630_pfp.bin			\
130
			firmware/RV630_pfp.bin			\
129
			firmware/RV635_pfp.bin			\
131
			firmware/RV635_pfp.bin			\
130
			firmware/RV670_pfp.bin			\
132
			firmware/RV670_pfp.bin			\
131
			firmware/RV710_pfp.bin			\
133
			firmware/RV710_pfp.bin			\
132
			firmware/RV730_pfp.bin			\
134
			firmware/RV730_pfp.bin			\
133
			firmware/RV770_pfp.bin			\
135
			firmware/RV770_pfp.bin			\
134
								\
136
								\
135
			firmware/R600_rlc.bin			\
137
			firmware/R600_rlc.bin			\
136
			firmware/R700_rlc.bin
138
			firmware/R700_rlc.bin
137
 
139
 
138
 
140
 
139
SRC_DEP:=    
141
SRC_DEP:=    
140
 
142
 
141
 
143
 
142
NAME_OBJS =  $(patsubst %.S, %.o, $(patsubst %.asm, %.o,\
144
NAME_OBJS =  $(patsubst %.S, %.o, $(patsubst %.asm, %.o,\
143
            $(patsubst %.c, %.o, $(NAME_SRC))))
145
            $(patsubst %.c, %.o, $(NAME_SRC))))
144
 
146
 
145
 
147
 
146
 
148
 
147
all: $(NAME).dll
149
all: $(NAME).dll
148
 
150
 
149
$(NAME).dll: $(NAME_OBJS) $(FW_BINS) $(SRC_DEP) $(HFILES) $(LIBPATH)/libcore.a $(LIBPATH)/libddk.a atikms.lds Makefile
151
$(NAME).dll: $(NAME_OBJS) $(FW_BINS) $(SRC_DEP) $(HFILES) $(LIBPATH)/libcore.a $(LIBPATH)/libddk.a atikms.lds Makefile
150
	$(LD) -L$(LIBPATH) $(LDFLAGS) -T atikms.lds -o $@ $(NAME_OBJS) $(LIBS)  
152
	$(LD) -L$(LIBPATH) $(LDFLAGS) -T atikms.lds -o $@ $(NAME_OBJS) $(LIBS)  
151
 
153
 
152
 
154
 
153
%.o : %.c $(HFILES) Makefile
155
%.o : %.c $(HFILES) Makefile
154
	$(CC) $(CFLAGS) $(DEFINES) -o $@ $<
156
	$(CC) $(CFLAGS) $(DEFINES) -o $@ $<
155
 
157
 
156
%.o : %.S $(HFILES) Makefile
158
%.o : %.S $(HFILES) Makefile
157
	$(AS) -o $@ $<
159
	$(AS) -o $@ $<
158
 
160
 
159
fwblob.o:  fwblob.asm $(FW_BINS) Makefile
161
fwblob.o:  fwblob.asm $(FW_BINS) Makefile
160
	$(FASM) $< $@
162
	$(FASM) $< $@
161
 
163
 
162
 
164
 
163
clean: 
165
clean: 
164
	-rm -f */*.o
166
	-rm -f */*.o
165
 
167
 
166
fwblob.o:>
168
fwblob.o:>
167
 
169
 
168
%.o>
170
%.o>