Subversion Repositories Kolibri OS

Rev

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

  1. CC = gcc
  2. LD = ld
  3. AS = as
  4. FASM = fasm.exe
  5.  
  6. DEFINES  = -D__KERNEL__ -DCONFIG_X86_32 -DCONFIG_X86_CMPXCHG64 -DCONFIG_TINY_RCU
  7. DEFINES += -DCONFIG_X86_L1_CACHE_SHIFT=6
  8. DEFINES += -DCONFIG_DRM_FBDEV_EMULATION -DCONFIG_DMI -DCONFIG_ARCH_HAS_CACHE_LINE_SIZE
  9.  
  10. DRV_TOPDIR   = $(CURDIR)/../../..
  11. DRM_TOPDIR   = $(CURDIR)/..
  12.  
  13. DRV_INCLUDES = $(DRV_TOPDIR)/include
  14.  
  15. INCLUDES =      -I$(DRV_INCLUDES)       \
  16.                 -I$(DRV_INCLUDES)/asm   \
  17.                 -I$(DRV_INCLUDES)/uapi  \
  18.                 -I$(DRV_INCLUDES)/drm -I./ -I$(DRV_INCLUDES)
  19.  
  20. CFLAGS= -c -O2 $(INCLUDES) $(DEFINES) -march=i686 -fno-ident -fomit-frame-pointer -fno-builtin-printf
  21. CFLAGS+= -mno-stack-arg-probe -mpreferred-stack-boundary=2 -mincoming-stack-boundary=2 -mno-ms-bitfields
  22.  
  23. LIBPATH:= $(DRV_TOPDIR)/ddk
  24.  
  25. LIBS:=    -lddk -lcore -lgcc
  26.  
  27. LDFLAGS = -nostdlib -shared -s -Map atikms.map --image-base 0\
  28.           --file-alignment 512 --section-alignment 4096
  29.  
  30.  
  31. NAME:=    atikms
  32.  
  33. HFILES:=                $(DRV_INCLUDES)/linux/types.h           \
  34.                         $(DRV_INCLUDES)/linux/list.h            \
  35.                         $(DRV_INCLUDES)/linux/pci.h             \
  36.                         $(DRV_INCLUDES)/drm/drmP.h              \
  37.                         $(DRV_INCLUDES)/drm/drm_edid.h          \
  38.                         $(DRV_INCLUDES)/drm/drm_crtc.h          \
  39.                         $(DRV_INCLUDES)/drm/drm_mm.h            \
  40.                         atom.h                                  \
  41.                         radeon.h                                \
  42.                         radeon_asic.h
  43.  
  44. NAME_SRC=                                                       \
  45.                         main.c                                  \
  46.                         pci.c                                   \
  47.                         ../ttm/ttm_bo.c                         \
  48.                         ../ttm/ttm_bo_manager.c                 \
  49.                         ../ttm/ttm_bo_util.c                    \
  50.                         ../ttm/ttm_execbuf_util.c               \
  51.                         ../ttm/ttm_memory.c                     \
  52.                         ../ttm/ttm_page_alloc.c                 \
  53.                         ../ttm/ttm_tt.c                         \
  54.                         $(DRM_TOPDIR)/drm_atomic.c              \
  55.                         $(DRM_TOPDIR)/drm_atomic_helper.c       \
  56.                         $(DRM_TOPDIR)/drm_bridge.c              \
  57.                         $(DRM_TOPDIR)/drm_cache.c               \
  58.                         $(DRM_TOPDIR)/drm_crtc.c                \
  59.                         $(DRM_TOPDIR)/drm_crtc_helper.c         \
  60.                         $(DRM_TOPDIR)/drm_dp_helper.c           \
  61.                         $(DRM_TOPDIR)/drm_dp_mst_topology.c     \
  62.                         $(DRM_TOPDIR)/drm_drv.c                 \
  63.                         $(DRM_TOPDIR)/drm_edid.c                \
  64.                         $(DRM_TOPDIR)/drm_fb_helper.c           \
  65.                         $(DRM_TOPDIR)/drm_gem.c                 \
  66.                         $(DRM_TOPDIR)/drm_global.c              \
  67.                         $(DRM_TOPDIR)/drm_irq.c                 \
  68.                         $(DRM_TOPDIR)/drm_mm.c                  \
  69.                         $(DRM_TOPDIR)/drm_modes.c               \
  70.                         $(DRM_TOPDIR)/drm_modeset_lock.c        \
  71.                         $(DRM_TOPDIR)/drm_pci.c                 \
  72.                         $(DRM_TOPDIR)/drm_plane_helper.c        \
  73.                         $(DRM_TOPDIR)/drm_probe_helper.c        \
  74.                         $(DRM_TOPDIR)/drm_rect.c                \
  75.                         $(DRM_TOPDIR)/drm_stub.c                \
  76.                         $(DRM_TOPDIR)/drm_vma_manager.c         \
  77.                         $(DRM_TOPDIR)/i2c/i2c-core.c            \
  78.                         $(DRM_TOPDIR)/i2c/i2c-algo-bit.c        \
  79.                         hmm.c                                   \
  80.                         radeon_device.c                         \
  81.                         atom.c                                  \
  82.                         atombios_crtc.c                         \
  83.                         atombios_dp.c                           \
  84.                         atombios_encoders.c                     \
  85.                         atombios_i2c.c                          \
  86.                         btc_dpm.c                               \
  87.                         cayman_blit_shaders.c                   \
  88.                         ci_dpm.c                                \
  89.                         ci_smc.c                                \
  90.                         cik.c                                   \
  91.                         cik_blit_shaders.c                      \
  92.                         cik_sdma.c                              \
  93.                         cypress_dpm.c                           \
  94.                         dce3_1_afmt.c                           \
  95.                         dce6_afmt.c                             \
  96.                         evergreen.c                             \
  97.                         evergreen_blit_shaders.c                \
  98.                         evergreen_cs.c                          \
  99.                         evergreen_dma.c                         \
  100.                         evergreen_hdmi.c                        \
  101.                         kv_dpm.c                                \
  102.                         kv_smc.c                                \
  103.                         ni.c                                    \
  104.                         ni_dma.c                                \
  105.                         ni_dpm.c                                \
  106.                         radeon_agp.c                            \
  107.                         radeon_asic.c                           \
  108.                         radeon_atombios.c                       \
  109.                         radeon_audio.c                          \
  110.                         radeon_benchmark.c                      \
  111.                         radeon_bios.c                           \
  112.                         radeon_combios.c                        \
  113.                         radeon_connectors.c                     \
  114.                         radeon_cs.c                             \
  115.                         radeon_clocks.c                         \
  116.                         radeon_display.c                        \
  117.                         radeon_dp_auxch.c                       \
  118.                         radeon_dp_mst.c                         \
  119.                         radeon_encoders.c                       \
  120.                         radeon_fence.c                          \
  121.                         radeon_fb.c                             \
  122.                         radeon_gart.c                           \
  123.                         radeon_gem.c                            \
  124.                         radeon_i2c.c                            \
  125.                         radeon_ib.c                             \
  126.                         radeon_irq_kms.c                        \
  127.                         radeon_kms.c                            \
  128.                         radeon_legacy_crtc.c                    \
  129.                         radeon_legacy_encoders.c                \
  130.                         radeon_legacy_tv.c                      \
  131.                         radeon_object.c                         \
  132.                         radeon_pm.c                             \
  133.                         radeon_ring.c                           \
  134.                         radeon_sa.c                             \
  135.                         radeon_semaphore.c                      \
  136.                         radeon_sync.c                           \
  137.                         radeon_test.c                           \
  138.                         radeon_ttm.c                            \
  139.                         radeon_ucode.c                          \
  140.                         radeon_uvd.c                            \
  141.                         radeon_vce.c                            \
  142.                         radeon_vm.c                             \
  143.                         rdisplay_kms.c                          \
  144.                         r100.c                                  \
  145.                         r200.c                                  \
  146.                         r300.c                                  \
  147.                         r420.c                                  \
  148.                         rv515.c                                 \
  149.                         rv730_dpm.c                             \
  150.                         rv740_dpm.c                             \
  151.                         r520.c                                  \
  152.                         r600.c                                  \
  153.                         r600_blit_shaders.c                     \
  154.                         r600_cs.c                               \
  155.                         r600_dma.c                              \
  156.                         r600_dpm.c                              \
  157.                         r600_hdmi.c                             \
  158.                         rs400.c                                 \
  159.                         rs600.c                                 \
  160.                         rs690.c                                 \
  161.                         rv6xx_dpm.c                             \
  162.                         rs780_dpm.c                             \
  163.                         rv770.c                                 \
  164.                         rv770_dma.c                             \
  165.                         rv770_dpm.c                             \
  166.                         rv770_smc.c                             \
  167.                         rdisplay.c                              \
  168.                         cmdline.c                               \
  169.                         si.c                                    \
  170.                         si_blit_shaders.c                       \
  171.                         si_dma.c                                \
  172.                         si_dpm.c                                \
  173.                         si_smc.c                                \
  174.                         sumo_dpm.c                              \
  175.                         sumo_smc.c                              \
  176.                         trinity_dpm.c                           \
  177.                         trinity_smc.c                           \
  178.                         utils.c                                 \
  179.                         uvd_v1_0.c                              \
  180.                         uvd_v2_2.c                              \
  181.                         uvd_v3_1.c                              \
  182.                         uvd_v4_2.c                              \
  183.                         vce_v1_0.c                              \
  184.                         vce_v2_0.c                              \
  185.                         fwblob.asm
  186.  
  187. FW_BINS=                                                        \
  188.                         firmware/R100_cp.bin                    \
  189.                         firmware/R200_cp.bin                    \
  190.                         firmware/R300_cp.bin                    \
  191.                         firmware/R420_cp.bin                    \
  192.                         firmware/R520_cp.bin                    \
  193.                                                                 \
  194.                         firmware/RS690_cp.bin                   \
  195.                         firmware/RS600_cp.bin                   \
  196.                         firmware/RS780_me.bin                   \
  197.                         firmware/RS780_pfp.bin                  \
  198.                                                                 \
  199.                         firmware/RV610_me.bin                   \
  200.                         firmware/RV620_me.bin                   \
  201.                         firmware/RV630_me.bin                   \
  202.                         firmware/RV635_me.bin                   \
  203.                         firmware/RV670_me.bin                   \
  204.                         firmware/RV710_me.bin                   \
  205.                         firmware/RV730_me.bin                   \
  206.                         firmware/RV770_me.bin                   \
  207.                                                                 \
  208.                         firmware/RV610_pfp.bin                  \
  209.                         firmware/RV620_pfp.bin                  \
  210.                         firmware/RV630_pfp.bin                  \
  211.                         firmware/RV635_pfp.bin                  \
  212.                         firmware/RV670_pfp.bin                  \
  213.                         firmware/RV710_pfp.bin                  \
  214.                         firmware/RV730_pfp.bin                  \
  215.                         firmware/RV770_pfp.bin                  \
  216.                                                                 \
  217.                         firmware/R600_rlc.bin                   \
  218.                         firmware/R700_rlc.bin
  219.  
  220.  
  221. SRC_DEP:=    
  222.  
  223.  
  224. NAME_OBJS =  $(patsubst %.S, %.o, $(patsubst %.asm, %.o,\
  225.             $(patsubst %.c, %.o, $(NAME_SRC))))
  226.  
  227.  
  228.  
  229. all: $(NAME).dll
  230.  
  231. $(NAME).dll: $(NAME_OBJS) $(FW_BINS) $(SRC_DEP) $(HFILES) $(LIBPATH)/libcore.a $(LIBPATH)/libddk.a atikms.lds Makefile
  232.         $(LD) -L$(LIBPATH) $(LDFLAGS) -T atikms.lds -o $@ $(NAME_OBJS) $(LIBS)  
  233.  
  234.  
  235. %.o : %.c $(HFILES) Makefile
  236.         $(CC) $(CFLAGS) $(DEFINES) -o $@ $<
  237.  
  238. %.o : %.S $(HFILES) Makefile
  239.         $(AS) -o $@ $<
  240.  
  241. fwblob.o:  fwblob.asm $(FW_BINS) Makefile
  242.         $(FASM) $< $@
  243.  
  244.  
  245. clean:
  246.         -rm -f */*.o
  247.  
  248.