Subversion Repositories Kolibri OS

Rev

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

  1.  
  2. # note that gcc must be at least 4.5! otherwise, use old Makefile
  3. CC = gcc
  4. LD = ld
  5. AS = as
  6. FASM = fasm
  7.  
  8. DEFINES  = -D__KERNEL__ -DCONFIG_X86_32
  9.  
  10. DRV_TOPDIR   = $(CURDIR)/../../..
  11. DRM_TOPDIR   = $(CURDIR)/..
  12.  
  13. DRV_INCLUDES = $(DRV_TOPDIR)/include
  14.  
  15. INCLUDES =      -I$(DRV_INCLUDES) -I$(DRV_INCLUDES)/drm \
  16.                 -I$(DRV_INCLUDES)/linux
  17.  
  18. CFLAGS_OPT = -Os -march=i486 -fomit-frame-pointer -fno-builtin-printf -mno-stack-arg-probe -mpreferred-stack-boundary=2 -mincoming-stack-boundary=2 -flto
  19. CFLAGS   = -c $(INCLUDES) $(DEFINES) $(CFLAGS_OPT)
  20.  
  21. LIBPATH:= $(DRV_TOPDIR)/ddk
  22.  
  23. LIBS:= -lddk -lcore
  24.  
  25. LDFLAGS = -nostdlib,-shared,-s,-Map,atikms.map,--image-base,0,--file-alignment,512,--section-alignment,4096
  26.  
  27.  
  28. NAME:=    atikms
  29.  
  30. HFILES:=                $(DRV_INCLUDES)/linux/types.h           \
  31.                         $(DRV_INCLUDES)/linux/list.h            \
  32.                         $(DRV_INCLUDES)/linux/pci.h             \
  33.                         $(DRV_INCLUDES)/drm/drm.h               \
  34.                         $(DRV_INCLUDES)/drm/drmP.h              \
  35.                         $(DRV_INCLUDES)/drm/drm_edid.h          \
  36.                         $(DRV_INCLUDES)/drm/drm_crtc.h          \
  37.                         $(DRV_INCLUDES)/drm/drm_mode.h          \
  38.                         $(DRV_INCLUDES)/drm/drm_mm.h            \
  39.                         atom.h                                  \
  40.                         radeon.h                                \
  41.                         radeon_asic.h
  42.  
  43. NAME_SRC=                                                       \
  44.                         pci.c                                   \
  45.                         $(DRM_TOPDIR)/drm_mm.c                  \
  46.                         $(DRM_TOPDIR)/drm_edid.c                \
  47.                         $(DRM_TOPDIR)/drm_modes.c               \
  48.                         $(DRM_TOPDIR)/drm_crtc.c                \
  49.                         $(DRM_TOPDIR)/drm_crtc_helper.c         \
  50.                         $(DRM_TOPDIR)/drm_fb_helper.c           \
  51.                         $(DRM_TOPDIR)/drm_dp_i2c_helper.c       \
  52.                         $(DRM_TOPDIR)/i2c/i2c-core.c            \
  53.                         $(DRM_TOPDIR)/i2c/i2c-algo-bit.c        \
  54.                         evergreen.c                             \
  55.                         radeon_device.c                         \
  56.                         radeon_clocks.c                         \
  57.                         radeon_i2c.c                            \
  58.                         atom.c                                  \
  59.                         radeon_atombios.c                       \
  60.                         radeon_agp.c                            \
  61.                         atombios_crtc.c                         \
  62.                         atombios_dp.c                           \
  63.                         radeon_encoders.c                       \
  64.                         radeon_connectors.c                     \
  65.                         radeon_bios.c                           \
  66.                         radeon_combios.c                        \
  67.                         radeon_legacy_crtc.c                    \
  68.                         radeon_legacy_encoders.c                \
  69.                         radeon_legacy_tv.c                      \
  70.                         radeon_display.c                        \
  71.                         radeon_gart.c                           \
  72.                         radeon_ring.c                           \
  73.                         radeon_object_kos.c                     \
  74.                         radeon_gem.c                            \
  75.                         r100.c                                  \
  76.                         r200.c                                  \
  77.                         r300.c                                  \
  78.                         r420.c                                  \
  79.                         rv515.c                                 \
  80.                         r520.c                                  \
  81.                         r600.c                                  \
  82.                         r600_audio.c                            \
  83.                         r600_hdmi.c                             \
  84.                         rs400.c                                 \
  85.                         rs600.c                                 \
  86.                         rs690.c                                 \
  87.                         rv770.c                                 \
  88.                         radeon_fb.c                             \
  89.                         rdisplay.c                              \
  90.                         rdisplay_kms.c                          \
  91.                         radeon_pm.c                             \
  92.                         cmdline.c                               \
  93.                         fwblob.asm
  94. #                       cursor.S
  95.  
  96. FW_BINS=                                                        \
  97.                         firmware/R100_cp.bin                    \
  98.                         firmware/R200_cp.bin                    \
  99.                         firmware/R300_cp.bin                    \
  100.                         firmware/R420_cp.bin                    \
  101.                         firmware/R520_cp.bin                    \
  102.                                                                 \
  103.                         firmware/RS690_cp.bin                   \
  104.                         firmware/RS600_cp.bin                   \
  105.                         firmware/RS780_me.bin                   \
  106.                         firmware/RS780_pfp.bin                  \
  107.                                                                 \
  108.                         firmware/RV610_me.bin                   \
  109.                         firmware/RV620_me.bin                   \
  110.                         firmware/RV630_me.bin                   \
  111.                         firmware/RV635_me.bin                   \
  112.                         firmware/RV670_me.bin                   \
  113.                         firmware/RV710_me.bin                   \
  114.                         firmware/RV730_me.bin                   \
  115.                         firmware/RV770_me.bin                   \
  116.                                                                 \
  117.                         firmware/RV610_pfp.bin                  \
  118.                         firmware/RV620_pfp.bin                  \
  119.                         firmware/RV630_pfp.bin                  \
  120.                         firmware/RV635_pfp.bin                  \
  121.                         firmware/RV670_pfp.bin                  \
  122.                         firmware/RV710_pfp.bin                  \
  123.                         firmware/RV730_pfp.bin                  \
  124.                         firmware/RV770_pfp.bin                  \
  125.                                                                 \
  126.                         firmware/R600_rlc.bin                   \
  127.                         firmware/R700_rlc.bin
  128.  
  129.  
  130. SRC_DEP:=    
  131.  
  132.  
  133. NAME_OBJS =  $(patsubst %.S, %.o, $(patsubst %.asm, %.o,\
  134.             $(patsubst %.c, %.o, $(NAME_SRC))))
  135.  
  136. all: $(NAME).dll
  137.  
  138. $(NAME).dll: $(NAME_OBJS) $(FW_BINS) $(SRC_DEP) $(HFILES) $(LIBPATH)/libcore.a $(LIBPATH)/libddk.a atikms.lds Makefile.lto
  139.         $(CC) $(CFLAGS_OPT) -fwhole-program -nostdlib -Wl,-L$(LIBPATH),$(LDFLAGS),-T,atikms.lds -o $@ $(NAME_OBJS) $(LIBS)
  140.  
  141.  
  142. %.o : %.c $(HFILES) Makefile.lto
  143.         $(CC) $(CFLAGS) -o $@ $<
  144.  
  145. %.o : %.S $(HFILES) Makefile.lto
  146.         $(AS) -o $@ $<
  147.  
  148. fwblob.o:  fwblob.asm $(FW_BINS) Makefile.lto
  149.         $(FASM) $< $@
  150.  
  151.