Subversion Repositories Kolibri OS

Rev

Rev 5078 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
6296 serge 1
CC = kos32-gcc
4075 Serge 2
FASM = fasm.exe
3
 
6296 serge 4
DEFINES	= -DDRM_DEBUG_CODE=0 -D__KERNEL__ -DCONFIG_X86_32 -DCONFIG_PCI -DCONFIG_X86_CMPXCHG64
5
DEFINES += -DCONFIG_TINY_RCU -DCONFIG_X86_L1_CACHE_SHIFT=6
6
DEFINES+= -DKBUILD_MODNAME=\"vmwgfx.dll\"
4075 Serge 7
 
6296 serge 8
DDK_TOPDIR      = /d/kos/kolibri/drivers/ddk
9
DRV_INCLUDES    = /d/kos/kolibri/drivers/include
4075 Serge 10
DRM_TOPDIR   = $(CURDIR)/..
11
 
6296 serge 12
INCLUDES =	-I$(DRV_INCLUDES)	\
13
		-I$(DRV_INCLUDES)/asm 	\
14
		-I$(DRV_INCLUDES)/uapi	\
15
		-I$(DRV_INCLUDES)/drm -I./ -I$(DRV_INCLUDES)
4075 Serge 16
 
6296 serge 17
CFLAGS= -c -O2 $(INCLUDES) $(DEFINES) -march=i686 -fno-ident -msse2 -fomit-frame-pointer -fno-builtin-printf
18
CFLAGS+= -mno-stack-arg-probe -mno-ms-bitfields
4075 Serge 19
 
6296 serge 20
LIBPATH:= $(DDK_TOPDIR)
4075 Serge 21
 
22
LIBS:=    -lddk -lcore -lgcc
23
 
6296 serge 24
PE_FLAGS = --major-os-version 0 --minor-os-version 7 --major-subsystem-version 0 \
25
          --minor-subsystem-version 5 --subsystem native
26
 
27
LDFLAGS = -nostdlib -shared -s $(PE_FLAGS) --image-base 0\
4075 Serge 28
	  --file-alignment 512 --section-alignment 4096
29
 
30
 
31
NAME:=	  vmwgfx
32
 
33
HFILES:=     		$(DRV_INCLUDES)/linux/types.h		\
34
			$(DRV_INCLUDES)/linux/list.h		\
35
			$(DRV_INCLUDES)/linux/pci.h		\
36
			$(DRV_INCLUDES)/drm/drm.h		\
37
			$(DRV_INCLUDES)/drm/drmP.h		\
38
			$(DRV_INCLUDES)/drm/drm_edid.h		\
39
			$(DRV_INCLUDES)/drm/drm_crtc.h		\
40
			$(DRV_INCLUDES)/drm/drm_mode.h		\
41
			$(DRV_INCLUDES)/drm/drm_mm.h
42
 
43
NAME_SRC=							\
6296 serge 44
			vmwgfx_binding.c			\
4075 Serge 45
			vmwgfx_buffer.c				\
6296 serge 46
			vmwgfx_cmdbuf.c				\
47
			vmwgfx_cmdbuf_res.c			\
4075 Serge 48
			vmwgfx_context.c			\
6296 serge 49
			vmwgfx_cotable.c			\
4075 Serge 50
			vmwgfx_dmabuf.c				\
51
			vmwgfx_drv.c				\
52
			vmwgfx_execbuf.c			\
6296 serge 53
			vmwgfx_fb.c				\
4075 Serge 54
			vmwgfx_fence.c				\
55
			vmwgfx_fifo.c				\
56
			vmwgfx_gmr.c				\
6296 serge 57
			vmwgfx_gmrid_manager.c			\
4075 Serge 58
			vmwgfx_irq.c				\
59
			vmwgfx_kms.c				\
6296 serge 60
			vmwgfx_ldu.c				\
4075 Serge 61
			vmwgfx_marker.c				\
4569 Serge 62
			vmwgfx_mob.c				\
6296 serge 63
			vmwgfx_overlay.c			\
64
			vmwgfx_prime.c				\
4075 Serge 65
			vmwgfx_resource.c			\
66
			vmwgfx_scrn.c				\
4569 Serge 67
			vmwgfx_shader.c				\
6296 serge 68
			vmwgfx_so.c				\
69
			vmwgfx_stdu.c				\
4075 Serge 70
			vmwgfx_surface.c			\
71
			vmwgfx_ttm_glue.c			\
6296 serge 72
			main.c					\
73
			pci.c					\
74
			../hdmi.c				\
4075 Serge 75
			../i2c/i2c-core.c			\
76
			../ttm/ttm_bo.c				\
6296 serge 77
			../ttm/ttm_bo_manager.c			\
78
			../ttm/ttm_bo_util.c			\
79
			../ttm/ttm_execbuf_util.c		\
4570 Serge 80
			../ttm/ttm_lock.c			\
4075 Serge 81
			../ttm/ttm_memory.c			\
82
			../ttm/ttm_object.c			\
6296 serge 83
			../ttm/ttm_page_alloc.c			\
4075 Serge 84
			../ttm/ttm_tt.c				\
6296 serge 85
			../drm_atomic.c				\
86
			../drm_atomic_helper.c			\
87
			../drm_bridge.c				\
88
			../drm_cache.c				\
4111 Serge 89
			../drm_crtc.c				\
6296 serge 90
			../drm_crtc_helper.c			\
4111 Serge 91
			../drm_drv.c				\
92
			../drm_edid.c				\
93
			../drm_gem.c				\
94
			../drm_global.c				\
95
			../drm_hashtab.c			\
96
			../drm_irq.c				\
6296 serge 97
			../drm_mm.c				\
4111 Serge 98
			../drm_modes.c				\
6296 serge 99
			../drm_modeset_lock.c			\
4111 Serge 100
			../drm_pci.c				\
6296 serge 101
			../drm_plane_helper.c			\
102
			../drm_rect.c				\
4111 Serge 103
			../drm_stub.c				\
104
			../drm_vma_manager.c
4075 Serge 105
 
106
 
107
 
108
 
109
NAME_OBJS =  $(patsubst %.S, %.o, $(patsubst %.asm, %.o,\
110
            $(patsubst %.c, %.o, $(NAME_SRC))))
111
 
112
 
113
 
114
all: $(NAME).dll
115
 
6296 serge 116
$(NAME).dll: $(NAME_OBJS) vmw.lds Makefile
4075 Serge 117
	$(LD) -L$(LIBPATH) $(LDFLAGS) -T vmw.lds -o $@ $(NAME_OBJS) $(LIBS)
118
 
119
 
120
%.o : %.c $(HFILES) Makefile
121
	$(CC) $(CFLAGS) $(DEFINES) -o $@ $<
122
 
123
%.o : %.S $(HFILES) Makefile
124
	$(AS) -o $@ $<
125
 
126
clean:
127
	-rm -f */*.o
128