0,0 → 1,150 |
|
# note that gcc must be at least 4.5! otherwise, use old Makefile |
CC = gcc |
LD = ld |
AS = as |
FASM = fasm |
|
DEFINES = -D__KERNEL__ -DCONFIG_X86_32 |
|
DRV_TOPDIR = $(CURDIR)/../../.. |
DRM_TOPDIR = $(CURDIR)/.. |
|
DRV_INCLUDES = $(DRV_TOPDIR)/include |
|
INCLUDES = -I$(DRV_INCLUDES) -I$(DRV_INCLUDES)/drm \ |
-I$(DRV_INCLUDES)/linux |
|
CFLAGS_OPT = -Os -march=i486 -fomit-frame-pointer -fno-builtin-printf -mno-stack-arg-probe -mpreferred-stack-boundary=2 -mincoming-stack-boundary=2 -flto |
CFLAGS = -c $(INCLUDES) $(DEFINES) $(CFLAGS_OPT) |
|
LIBPATH:= $(DRV_TOPDIR)/ddk |
|
LIBS:= -lddk -lcore |
|
LDFLAGS = -nostdlib,-shared,-s,-Map,atikms.map,--image-base,0,--file-alignment,512,--section-alignment,4096 |
|
|
NAME:= atikms |
|
HFILES:= $(DRV_INCLUDES)/linux/types.h \ |
$(DRV_INCLUDES)/linux/list.h \ |
$(DRV_INCLUDES)/linux/pci.h \ |
$(DRV_INCLUDES)/drm/drm.h \ |
$(DRV_INCLUDES)/drm/drmP.h \ |
$(DRV_INCLUDES)/drm/drm_edid.h \ |
$(DRV_INCLUDES)/drm/drm_crtc.h \ |
$(DRV_INCLUDES)/drm/drm_mode.h \ |
$(DRV_INCLUDES)/drm/drm_mm.h \ |
atom.h \ |
radeon.h \ |
radeon_asic.h |
|
NAME_SRC= \ |
pci.c \ |
$(DRM_TOPDIR)/drm_mm.c \ |
$(DRM_TOPDIR)/drm_edid.c \ |
$(DRM_TOPDIR)/drm_modes.c \ |
$(DRM_TOPDIR)/drm_crtc.c \ |
$(DRM_TOPDIR)/drm_crtc_helper.c \ |
$(DRM_TOPDIR)/drm_fb_helper.c \ |
$(DRM_TOPDIR)/drm_dp_i2c_helper.c \ |
$(DRM_TOPDIR)/i2c/i2c-core.c \ |
$(DRM_TOPDIR)/i2c/i2c-algo-bit.c \ |
evergreen.c \ |
radeon_device.c \ |
radeon_clocks.c \ |
radeon_i2c.c \ |
atom.c \ |
radeon_atombios.c \ |
radeon_agp.c \ |
atombios_crtc.c \ |
atombios_dp.c \ |
radeon_encoders.c \ |
radeon_connectors.c \ |
radeon_bios.c \ |
radeon_combios.c \ |
radeon_legacy_crtc.c \ |
radeon_legacy_encoders.c \ |
radeon_legacy_tv.c \ |
radeon_display.c \ |
radeon_gart.c \ |
radeon_ring.c \ |
radeon_object_kos.c \ |
radeon_gem.c \ |
r100.c \ |
r200.c \ |
r300.c \ |
r420.c \ |
rv515.c \ |
r520.c \ |
r600.c \ |
r600_audio.c \ |
r600_hdmi.c \ |
rs400.c \ |
rs600.c \ |
rs690.c \ |
rv770.c \ |
radeon_fb.c \ |
rdisplay.c \ |
rdisplay_kms.c \ |
radeon_pm.c \ |
cmdline.c \ |
fwblob.asm |
# cursor.S |
|
FW_BINS= \ |
firmware/R100_cp.bin \ |
firmware/R200_cp.bin \ |
firmware/R300_cp.bin \ |
firmware/R420_cp.bin \ |
firmware/R520_cp.bin \ |
\ |
firmware/RS690_cp.bin \ |
firmware/RS600_cp.bin \ |
firmware/RS780_me.bin \ |
firmware/RS780_pfp.bin \ |
\ |
firmware/RV610_me.bin \ |
firmware/RV620_me.bin \ |
firmware/RV630_me.bin \ |
firmware/RV635_me.bin \ |
firmware/RV670_me.bin \ |
firmware/RV710_me.bin \ |
firmware/RV730_me.bin \ |
firmware/RV770_me.bin \ |
\ |
firmware/RV610_pfp.bin \ |
firmware/RV620_pfp.bin \ |
firmware/RV630_pfp.bin \ |
firmware/RV635_pfp.bin \ |
firmware/RV670_pfp.bin \ |
firmware/RV710_pfp.bin \ |
firmware/RV730_pfp.bin \ |
firmware/RV770_pfp.bin \ |
\ |
firmware/R600_rlc.bin \ |
firmware/R700_rlc.bin |
|
|
SRC_DEP:= |
|
|
NAME_OBJS = $(patsubst %.S, %.o, $(patsubst %.asm, %.o,\ |
$(patsubst %.c, %.o, $(NAME_SRC)))) |
|
all: $(NAME).dll |
|
$(NAME).dll: $(NAME_OBJS) $(FW_BINS) $(SRC_DEP) $(HFILES) $(LIBPATH)/libcore.a $(LIBPATH)/libddk.a atikms.lds Makefile.lto |
$(CC) $(CFLAGS_OPT) -fwhole-program -nostdlib -Wl,-L$(LIBPATH),$(LDFLAGS),-T,atikms.lds -o $@ $(NAME_OBJS) $(LIBS) |
|
|
%.o : %.c $(HFILES) Makefile.lto |
$(CC) $(CFLAGS) -o $@ $< |
|
%.o : %.S $(HFILES) Makefile.lto |
$(AS) -o $@ $< |
|
fwblob.o: fwblob.asm $(FW_BINS) Makefile.lto |
$(FASM) $< $@ |
|