Subversion Repositories Kolibri OS

Rev

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

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