Subversion Repositories Kolibri OS

Rev

Rev 6937 | 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 -DCONFIG_X86_32 -DCONFIG_PCI
  5. DEFINES += -DCONFIG_HAVE_ATOMIC_IOMAP -DCONFIG_X86_CMPXCHG64 -DCONFIG_TINY_RCU
  6. DEFINES += -DCONFIG_X86_L1_CACHE_SHIFT=6 -DCONFIG_DRM_FBDEV_EMULATION -DCONFIG_DMI
  7. DEFINES += -DKBUILD_MODNAME=\"i915.dll\"
  8.  
  9. DDK_TOPDIR      = /d/kos/kolibri/drivers/ddk
  10. DRV_INCLUDES    = /d/kos/kolibri/drivers/include
  11. DRM_TOPDIR      = $(CURDIR)/..
  12.  
  13. INCLUDES =      -I$(DRV_INCLUDES)       \
  14.                 -I$(DRV_INCLUDES)/asm   \
  15.                 -I$(DRV_INCLUDES)/uapi  \
  16.                 -I$(DRV_INCLUDES)/drm -I./ -I$(DRV_INCLUDES)
  17.  
  18. CFLAGS_OPT = -O2 -march=i686 -msse2 -fomit-frame-pointer -fno-builtin-printf -fno-ident -mno-stack-arg-probe
  19. CFLAGS_OPT+= -mpreferred-stack-boundary=2 -mincoming-stack-boundary=2 -mno-ms-bitfields -flto
  20. CFLAGS   = -c $(INCLUDES) $(DEFINES) $(CFLAGS_OPT)
  21.  
  22. LIBPATH:= ../../../ddk
  23.  
  24. LIBS:=    -lddk -lcore -lgcc
  25.  
  26. PE_FLAGS = --major-os-version,0,--minor-os-version,7,--major-subsystem-version,0,--minor-subsystem-version,5,--subsystem,native
  27.  
  28. LDFLAGS = -e,_drvEntry,-nostdlib,-shared,-s,$(PE_FLAGS),--image-base,0,--file-alignment,512,--section-alignment,4096
  29.  
  30.  
  31. NAME:=    i915
  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.                         i915_drv.h                              \
  43.                         bitmap.h
  44.  
  45. NAME_SRC=               main.c                                  \
  46.                         pci.c                                   \
  47.                         getopt.c                                \
  48.                         getopt1.c                               \
  49.                         dvo_ch7017.c                            \
  50.                         dvo_ch7xxx.c                            \
  51.                         dvo_ivch.c                              \
  52.                         dvo_ns2501.c                            \
  53.                         dvo_sil164.c                            \
  54.                         dvo_tfp410.c                            \
  55.                         i915_cmd_parser.c                       \
  56.                         i915_dma.c                              \
  57.                         i915_drv.c                              \
  58.                         i915_gem.c                              \
  59.                         i915_gem_batch_pool.c                   \
  60.                         i915_gem_context.c                      \
  61.                         i915_gem_execbuffer.c                   \
  62.                         i915_gem_fence.c                        \
  63.                         i915_gem_evict.c                        \
  64.                         i915_gem_gtt.c                          \
  65.                         i915_gem_render_state.c                 \
  66.                         i915_gem_stolen.c                       \
  67.                         i915_gem_tiling.c                       \
  68.                         i915_gpu_error.c                        \
  69.                         i915_guc_submission.c                   \
  70.                         i915_irq.c                              \
  71.                         i915_params.c                           \
  72.                         i915_vgpu.c                             \
  73.                         intel_atomic.c                          \
  74.                         intel_atomic_plane.c                    \
  75.                         intel_audio.c                           \
  76.                         intel_bios.c                            \
  77.                         intel_csr.c                             \
  78.                         intel_crt.c                             \
  79.                         intel_ddi.c                             \
  80.                         intel_display.c                         \
  81.                         intel_dp.c                              \
  82.                         intel_dp_link_training.c                \
  83.                         intel_dp_mst.c                          \
  84.                         intel_dsi.c                             \
  85.                         intel_dsi_panel_vbt.c                   \
  86.                         intel_dsi_pll.c                         \
  87.                         intel_dvo.c                             \
  88.                         intel_fbc.c                             \
  89.                         intel_fbdev.c                           \
  90.                         intel_fifo_underrun.c                   \
  91.                         intel_frontbuffer.c                     \
  92.                         intel_guc_loader.c                      \
  93.                         intel_hdmi.c                            \
  94.                         intel_hotplug.c                         \
  95.                         intel_i2c.c                             \
  96.                         intel_lrc.c                             \
  97.                         intel_lvds.c                            \
  98.                         intel_mocs.c                            \
  99.                         intel_modes.c                           \
  100.                         intel_panel.c                           \
  101.                         intel_pm.c                              \
  102.                         intel_psr.c                             \
  103.                         intel_renderstate_gen6.c                \
  104.                         intel_renderstate_gen7.c                \
  105.                         intel_renderstate_gen8.c                \
  106.                         intel_renderstate_gen9.c                \
  107.                         intel_ringbuffer.c                      \
  108.                         intel_runtime_pm.c                      \
  109.                         intel_sdvo.c                            \
  110.                         intel_sideband.c                        \
  111.                         intel_sprite.c                          \
  112.                         intel_uncore.c                          \
  113.                         kms_display.c                           \
  114.                         kos_cursor.c                            \
  115.                         kos_fb.c                                \
  116.                         utils.c                                 \
  117.                         fwblob.asm                              \
  118.                         ../hdmi.c                               \
  119.                         Gtt/intel-agp.c                         \
  120.                         Gtt/intel-gtt.c                         \
  121.                         ../drm_cache.c                          \
  122.                         ../drm_global.c                         \
  123.                         ../drm_drv.c                            \
  124.                         ../drm_vma_manager.c                    \
  125.                         $(DRM_TOPDIR)/i2c/i2c-core.c            \
  126.                         $(DRM_TOPDIR)/i2c/i2c-algo-bit.c        \
  127.                         $(DRM_TOPDIR)/drm_crtc.c                \
  128.                         $(DRM_TOPDIR)/drm_crtc_helper.c         \
  129.                         $(DRM_TOPDIR)/drm_dp_dual_mode_helper.c \
  130.                         $(DRM_TOPDIR)/drm_dp_helper.c           \
  131.                         $(DRM_TOPDIR)/drm_dp_mst_topology.c     \
  132.                         $(DRM_TOPDIR)/drm_atomic.c              \
  133.                         $(DRM_TOPDIR)/drm_atomic_helper.c       \
  134.                         $(DRM_TOPDIR)/drm_bridge.c              \
  135.                         $(DRM_TOPDIR)/drm_edid.c                \
  136.                         $(DRM_TOPDIR)/drm_fb_helper.c           \
  137.                         $(DRM_TOPDIR)/drm_gem.c                 \
  138.                         $(DRM_TOPDIR)/drm_irq.c                 \
  139.                         $(DRM_TOPDIR)/drm_mipi_dsi.c            \
  140.                         $(DRM_TOPDIR)/drm_mm.c                  \
  141.                         $(DRM_TOPDIR)/drm_modes.c               \
  142.                         $(DRM_TOPDIR)/drm_modeset_lock.c        \
  143.                         $(DRM_TOPDIR)/drm_pci.c                 \
  144.                         $(DRM_TOPDIR)/drm_panel.c               \
  145.                         $(DRM_TOPDIR)/drm_plane_helper.c        \
  146.                         $(DRM_TOPDIR)/drm_probe_helper.c        \
  147.                         $(DRM_TOPDIR)/drm_rect.c                \
  148.                         $(DRM_TOPDIR)/drm_stub.c
  149.  
  150. SRC_DEP:=
  151.  
  152.  
  153. NAME_OBJS = $(patsubst %.S, %.o, $(patsubst %.asm, %.o,\
  154.             $(patsubst %.c, %.o, $(NAME_SRC))))
  155.  
  156.  
  157. all: $(NAME).dll
  158.  
  159. $(NAME).dll: $(NAME_OBJS) $(FW_BINS) $(SRC_DEP) i915.lds Makefile.lto
  160.         $(CC) $(CFLAGS_OPT) -fwhole-program -nostdlib -Wl,-L$(LIBPATH),$(LDFLAGS),-T,i915.lds -o $@ $(NAME_OBJS) $(LIBS)
  161.  
  162.  
  163. %.o : %.c $(HFILES) Makefile.lto
  164.         $(CC) $(CFLAGS) $(DEFINES) -o $@ $<
  165.  
  166. %.o : %.S $(HFILES) Makefile.lto
  167.         as -o $@ $<
  168.  
  169. fwblob.o:  fwblob.asm $(FW_BINS) Makefile
  170.         $(FASM) $< $@
  171.  
  172.  
  173. clean:
  174.         -rm -f ../*/*.o
  175.  
  176.  
  177.