Subversion Repositories Kolibri OS

Rev

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

  1. CC = kos32-gcc
  2. FASM = fasm.exe
  3.  
  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\"
  7.  
  8. DDK_TOPDIR      = /d/kos/kolibri/drivers/ddk
  9. DRV_INCLUDES    = /d/kos/kolibri/drivers/include
  10. DRM_TOPDIR   = $(CURDIR)/..
  11.  
  12. INCLUDES =      -I$(DRV_INCLUDES)       \
  13.                 -I$(DRV_INCLUDES)/asm   \
  14.                 -I$(DRV_INCLUDES)/uapi  \
  15.                 -I$(DRV_INCLUDES)/drm -I./ -I$(DRV_INCLUDES)
  16.  
  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
  19.  
  20. LIBPATH:= $(DDK_TOPDIR)
  21.  
  22. LIBS:=    -lddk -lcore -lgcc
  23.  
  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\
  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=                                                       \
  44.                         vmwgfx_binding.c                        \
  45.                         vmwgfx_buffer.c                         \
  46.                         vmwgfx_cmdbuf.c                         \
  47.                         vmwgfx_cmdbuf_res.c                     \
  48.                         vmwgfx_context.c                        \
  49.                         vmwgfx_cotable.c                        \
  50.                         vmwgfx_dmabuf.c                         \
  51.                         vmwgfx_drv.c                            \
  52.                         vmwgfx_execbuf.c                        \
  53.                         vmwgfx_fb.c                             \
  54.                         vmwgfx_fence.c                          \
  55.                         vmwgfx_fifo.c                           \
  56.                         vmwgfx_gmr.c                            \
  57.                         vmwgfx_gmrid_manager.c                  \
  58.                         vmwgfx_irq.c                            \
  59.                         vmwgfx_kms.c                            \
  60.                         vmwgfx_ldu.c                            \
  61.                         vmwgfx_marker.c                         \
  62.                         vmwgfx_mob.c                            \
  63.                         vmwgfx_overlay.c                        \
  64.                         vmwgfx_prime.c                          \
  65.                         vmwgfx_resource.c                       \
  66.                         vmwgfx_scrn.c                           \
  67.                         vmwgfx_shader.c                         \
  68.                         vmwgfx_so.c                             \
  69.                         vmwgfx_stdu.c                           \
  70.                         vmwgfx_surface.c                        \
  71.                         vmwgfx_ttm_glue.c                       \
  72.                         main.c                                  \
  73.                         pci.c                                   \
  74.                         ../hdmi.c                               \
  75.                         ../i2c/i2c-core.c                       \
  76.                         ../ttm/ttm_bo.c                         \
  77.                         ../ttm/ttm_bo_manager.c                 \
  78.                         ../ttm/ttm_bo_util.c                    \
  79.                         ../ttm/ttm_execbuf_util.c               \
  80.                         ../ttm/ttm_lock.c                       \
  81.                         ../ttm/ttm_memory.c                     \
  82.                         ../ttm/ttm_object.c                     \
  83.                         ../ttm/ttm_page_alloc.c                 \
  84.                         ../ttm/ttm_tt.c                         \
  85.                         ../drm_atomic.c                         \
  86.                         ../drm_atomic_helper.c                  \
  87.                         ../drm_bridge.c                         \
  88.                         ../drm_cache.c                          \
  89.                         ../drm_crtc.c                           \
  90.                         ../drm_crtc_helper.c                    \
  91.                         ../drm_drv.c                            \
  92.                         ../drm_edid.c                           \
  93.                         ../drm_gem.c                            \
  94.                         ../drm_global.c                         \
  95.                         ../drm_hashtab.c                        \
  96.                         ../drm_irq.c                            \
  97.                         ../drm_mm.c                             \
  98.                         ../drm_modes.c                          \
  99.                         ../drm_modeset_lock.c                   \
  100.                         ../drm_pci.c                            \
  101.                         ../drm_plane_helper.c                   \
  102.                         ../drm_rect.c                           \
  103.                         ../drm_stub.c                           \
  104.                         ../drm_vma_manager.c
  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.  
  116. $(NAME).dll: $(NAME_OBJS) vmw.lds Makefile
  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.  
  129.