Subversion Repositories Kolibri OS

Rev

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

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