Subversion Repositories Kolibri OS

Rev

Rev 4371 | Rev 4560 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1.  
  2. CC = gcc
  3. FASM = e:/fasm/fasm.exe
  4.  
  5. DEFINES  = -D__KERNEL__ -DCONFIG_X86_32
  6.  
  7. DDK_TOPDIR      = /d/kos/kolibri/drivers/ddk
  8. DRV_INCLUDES    = /d/kos/kolibri/drivers/include
  9. DRM_TOPDIR      = $(CURDIR)/..
  10.  
  11. INCLUDES =      -I$(DRV_INCLUDES) -I$(DRV_INCLUDES)/drm \
  12.                 -I$(DRV_INCLUDES)/linux -I$(DRV_INCLUDES)/linux/asm \
  13.                 -I./ -I./render
  14.  
  15. CFLAGS_OPT = -Os -march=i686 -msse2 -fomit-frame-pointer -fno-builtin-printf -mno-stack-arg-probe
  16. CFLAGS_OPT+= -mpreferred-stack-boundary=2 -mincoming-stack-boundary=2 -mno-ms-bitfields -flto
  17. CFLAGS   = -c $(INCLUDES) $(DEFINES) $(CFLAGS_OPT)
  18.  
  19. LIBPATH:= ../../../ddk
  20.  
  21. LIBS:=    -lddk -lcore -lgcc
  22.  
  23. LDFLAGS = -e,_drvEntry,-nostdlib,-shared,-s,--image-base,0,--file-alignment,512,--section-alignment,4096
  24.  
  25.  
  26. NAME:=    i915
  27.  
  28. HFILES:=                $(DRV_INCLUDES)/linux/types.h           \
  29.                         $(DRV_INCLUDES)/linux/list.h            \
  30.                         $(DRV_INCLUDES)/linux/pci.h             \
  31.                         $(DRV_INCLUDES)/drm/drm.h               \
  32.                         $(DRV_INCLUDES)/drm/drmP.h              \
  33.                         $(DRV_INCLUDES)/drm/drm_edid.h          \
  34.                         $(DRV_INCLUDES)/drm/drm_crtc.h          \
  35.                         $(DRV_INCLUDES)/drm/drm_mode.h          \
  36.                         $(DRV_INCLUDES)/drm/drm_mm.h            \
  37.                         i915_drv.h                              \
  38.                         bitmap.h
  39.  
  40. NAME_SRC=               main.c                                  \
  41.                         pci.c                                   \
  42.                         dvo_ch7017.c                            \
  43.                         dvo_ch7xxx.c                            \
  44.                         dvo_ivch.c                              \
  45.                         dvo_ns2501.c                            \
  46.                         dvo_sil164.c                            \
  47.                         dvo_tfp410.c                            \
  48.                         i915_dma.c                              \
  49.                         i915_drv.c                              \
  50.                         i915_gem.c                              \
  51.                         i915_gem_context.c                      \
  52.                         i915_gem_gtt.c                          \
  53.                         i915_gem_execbuffer.c                   \
  54.                         i915_gem_stolen.c                       \
  55.                         i915_gem_tiling.c                       \
  56.                         i915_gpu_error.c                        \
  57.                         i915_irq.c                              \
  58.                         intel_bios.c                            \
  59.                         intel_crt.c                             \
  60.                         intel_ddi.c                             \
  61.                         intel_display.c                         \
  62.                         intel_dp.c                              \
  63.                         intel_dvo.c                             \
  64.                         intel_fb.c                              \
  65.                         intel_hdmi.c                            \
  66.                         intel_i2c.c                             \
  67.                         intel_lvds.c                            \
  68.                         intel_modes.c                           \
  69.                         intel_opregion.c                        \
  70.                         intel_panel.c                           \
  71.                         intel_pm.c                              \
  72.                         intel_ringbuffer.c                      \
  73.                         intel_sdvo.c                            \
  74.                         intel_sideband.c                        \
  75.                         intel_sprite.c                          \
  76.                         intel_uncore.c                          \
  77.                         kms_display.c                           \
  78.                         kos_gem_fb.c                            \
  79.                         utils.c                                 \
  80.                         ../hdmi.c                               \
  81.                         Gtt/intel-agp.c                         \
  82.                         Gtt/intel-gtt.c                         \
  83.                         ../drm_cache.c                          \
  84.                         ../drm_global.c                         \
  85.                         ../drm_drv.c                            \
  86.                         ../drm_vma_manager.c                    \
  87.                         $(DRM_TOPDIR)/i2c/i2c-core.c            \
  88.                         $(DRM_TOPDIR)/i2c/i2c-algo-bit.c        \
  89.                         $(DRM_TOPDIR)/drm_crtc.c                \
  90.                         $(DRM_TOPDIR)/drm_crtc_helper.c         \
  91.                         $(DRM_TOPDIR)/drm_dp_helper.c           \
  92.                         $(DRM_TOPDIR)/drm_edid.c                \
  93.                         $(DRM_TOPDIR)/drm_fb_helper.c           \
  94.                         $(DRM_TOPDIR)/drm_gem.c                 \
  95.                         $(DRM_TOPDIR)/drm_irq.c                 \
  96.                         $(DRM_TOPDIR)/drm_mm.c                  \
  97.                         $(DRM_TOPDIR)/drm_modes.c               \
  98.                         $(DRM_TOPDIR)/drm_pci.c                 \
  99.                         $(DRM_TOPDIR)/drm_rect.c                \
  100.                         $(DRM_TOPDIR)/drm_stub.c
  101.  
  102. SRC_DEP:=
  103.  
  104.  
  105. NAME_OBJS = $(patsubst %.S, %.o, $(patsubst %.asm, %.o,\
  106.             $(patsubst %.c, %.o, $(NAME_SRC))))
  107.  
  108.  
  109.  
  110. all: $(NAME).dll
  111.  
  112. $(NAME).dll: $(NAME_OBJS) $(FW_BINS) $(SRC_DEP) $(HFILES) i915.lds Makefile.lto
  113.         $(CC) $(CFLAGS_OPT) -fwhole-program -nostdlib -Wl,-L$(LIBPATH),$(LDFLAGS),-T,i915.lds -o $@ $(NAME_OBJS) $(LIBS)
  114.  
  115.  
  116. %.o : %.c $(HFILES) Makefile.lto
  117.         $(CC) $(CFLAGS) $(DEFINES) -o $@ $<
  118.  
  119. %.o : %.S $(HFILES) Makefile.lto
  120.         as -o $@ $<
  121.  
  122.  
  123. clean:
  124.         -rm -f ../*/*.o
  125.  
  126.  
  127.