Subversion Repositories Kolibri OS

Rev

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

Rev 4570 Rev 5078
-
 
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
DRV_INCLUDES = $(DRV_TOPDIR)/include
9
DRV_INCLUDES = $(DRV_TOPDIR)/include
10
DRM_TOPDIR   = $(CURDIR)/..
10
DRM_TOPDIR   = $(CURDIR)/..
11
 
11
 
12
INCLUDES = 	-I$(DRV_INCLUDES) -I$(DRV_INCLUDES)/drm	\
12
INCLUDES = 	-I$(DRV_INCLUDES) -I$(DRV_INCLUDES)/drm	\
13
		-I$(DRV_INCLUDES)/linux -I$(DRV_INCLUDES)/linux/uapi
13
		-I$(DRV_INCLUDES)/linux -I$(DRV_INCLUDES)/linux/uapi
14
 
14
 
15
CFLAGS   = -c -Os $(INCLUDES) -fomit-frame-pointer -fno-builtin-printf
15
CFLAGS   = -c -O2 $(INCLUDES) -march=i686 -fomit-frame-pointer -fno-builtin-printf
16
CFLAGS+= -mno-ms-bitfields
16
CFLAGS+= -mno-ms-bitfields
17
 
17
 
18
LIBPATH:= $(DRV_TOPDIR)/ddk
18
LIBPATH:= $(DRV_TOPDIR)/ddk
19
 
19
 
20
LIBS:=    -lddk -lcore -lgcc
20
LIBS:=    -lddk -lcore -lgcc
21
 
21
 
22
LDFLAGS = -nostdlib -shared -s --image-base 0\
22
LDFLAGS = -nostdlib -shared -s --image-base 0\
23
	  --file-alignment 512 --section-alignment 4096
23
	  --file-alignment 512 --section-alignment 4096
24
 
24
 
25
 
25
 
26
NAME:=	  vmwgfx
26
NAME:=	  vmwgfx
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
 
37
 
38
NAME_SRC=							\
38
NAME_SRC=							\
39
			main.c					\
39
			main.c					\
40
			pci.c					\
40
			pci.c					\
41
			vmwgfx_buffer.c				\
41
			vmwgfx_buffer.c				\
42
			vmwgfx_context.c			\
42
			vmwgfx_context.c			\
43
			vmwgfx_dmabuf.c				\
43
			vmwgfx_dmabuf.c				\
44
			vmwgfx_drv.c				\
44
			vmwgfx_drv.c				\
45
			vmwgfx_execbuf.c			\
45
			vmwgfx_execbuf.c			\
46
			vmwgfx_fence.c				\
46
			vmwgfx_fence.c				\
47
			vmwgfx_fifo.c				\
47
			vmwgfx_fifo.c				\
48
			vmwgfx_gmr.c				\
48
			vmwgfx_gmr.c				\
49
			vmwgfx_gmrid_manager.c		\
49
			vmwgfx_gmrid_manager.c			\
50
			vmwgfx_irq.c				\
50
			vmwgfx_irq.c				\
51
			vmwgfx_kms.c				\
51
			vmwgfx_kms.c				\
52
			vmwgfx_marker.c				\
52
			vmwgfx_marker.c				\
53
			vmwgfx_mob.c				\
53
			vmwgfx_mob.c				\
54
			vmwgfx_resource.c			\
54
			vmwgfx_resource.c			\
55
			vmwgfx_scrn.c				\
55
			vmwgfx_scrn.c				\
56
			vmwgfx_shader.c				\
56
			vmwgfx_shader.c				\
57
			vmwgfx_surface.c			\
57
			vmwgfx_surface.c			\
58
			vmwgfx_ttm_glue.c			\
58
			vmwgfx_ttm_glue.c			\
59
			../hdmi.c				    \
59
			../hdmi.c				\
60
			../i2c/i2c-core.c			\
60
			../i2c/i2c-core.c			\
61
			../ttm/ttm_bo.c				\
61
			../ttm/ttm_bo.c				\
62
			../ttm/ttm_bo_manager.c		\
62
			../ttm/ttm_bo_manager.c			\
63
			../ttm/ttm_execbuf_util.c	\
63
			../ttm/ttm_execbuf_util.c		\
64
			../ttm/ttm_lock.c			\
64
			../ttm/ttm_lock.c			\
65
			../ttm/ttm_memory.c			\
65
			../ttm/ttm_memory.c			\
66
			../ttm/ttm_object.c			\
66
			../ttm/ttm_object.c			\
67
			../ttm/ttm_page_alloc.c		\
67
			../ttm/ttm_page_alloc.c			\
68
			../ttm/ttm_tt.c				\
68
			../ttm/ttm_tt.c				\
69
			../drm_crtc.c				\
69
			../drm_crtc.c				\
70
			../drm_crtc_helper.c		\
70
			../drm_crtc_helper.c			\
71
			../drm_drv.c				\
71
			../drm_drv.c				\
72
			../drm_edid.c				\
72
			../drm_edid.c				\
73
			../drm_gem.c				\
73
			../drm_gem.c				\
74
			../drm_global.c				\
74
			../drm_global.c				\
75
			../drm_hashtab.c			\
75
			../drm_hashtab.c			\
76
			../drm_irq.c				\
76
			../drm_irq.c				\
77
			../drm_mm.c				    \
77
			../drm_mm.c				\
78
			../drm_modes.c				\
78
			../drm_modes.c				\
79
			../drm_pci.c				\
79
			../drm_pci.c				\
80
			../drm_stub.c				\
80
			../drm_stub.c				\
81
			../drm_vma_manager.c
81
			../drm_vma_manager.c
82
 
82
 
83
 
83
 
84
 
84
 
85
 
85
 
86
NAME_OBJS =  $(patsubst %.S, %.o, $(patsubst %.asm, %.o,\
86
NAME_OBJS =  $(patsubst %.S, %.o, $(patsubst %.asm, %.o,\
87
            $(patsubst %.c, %.o, $(NAME_SRC))))
87
            $(patsubst %.c, %.o, $(NAME_SRC))))
88
 
88
 
89
 
89
 
90
 
90
 
91
all: $(NAME).dll
91
all: $(NAME).dll
92
 
92
 
93
$(NAME).dll: $(NAME_OBJS) $(LIBPATH)/libcore.a $(LIBPATH)/libddk.a vmw.lds Makefile
93
$(NAME).dll: $(NAME_OBJS) $(LIBPATH)/libcore.a $(LIBPATH)/libddk.a vmw.lds Makefile
94
	$(LD) -L$(LIBPATH) $(LDFLAGS) -T vmw.lds -o $@ $(NAME_OBJS) $(LIBS)
94
	$(LD) -L$(LIBPATH) $(LDFLAGS) -T vmw.lds -o $@ $(NAME_OBJS) $(LIBS)
95
 
95
	kpack $@  
96
 
96
 
-
 
97
 
97
%.o : %.c $(HFILES) Makefile
98
%.o : %.c $(HFILES) Makefile
98
	$(CC) $(CFLAGS) $(DEFINES) -o $@ $<
99
	$(CC) $(CFLAGS) $(DEFINES) -o $@ $<
99
 
100
 
100
%.o : %.S $(HFILES) Makefile
101
%.o : %.S $(HFILES) Makefile
101
	$(AS) -o $@ $<
102
	$(AS) -o $@ $<
102
 
103
 
103
clean: 
104
clean: 
104
	-rm -f */*.o
105
	-rm -f */*.o
105
 
106
 
106
clean:>
107
clean:>
107
 
108
 
108
%.o>
109
%.o>
-