Subversion Repositories Kolibri OS

Rev

Rev 6937 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
6084 serge 1
CC = kos32-gcc
2
FASM = fasm.exe
4104 Serge 3
 
6320 serge 4
DEFINES	= -DDRM_DEBUG_CODE=0 -D__KERNEL__ -DCONFIG_X86 -DCONFIG_X86_32 -DCONFIG_PCI
7144 serge 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
6320 serge 7
DEFINES += -DKBUILD_MODNAME=\"i915.dll\"
4104 Serge 8
 
9
DDK_TOPDIR      = /d/kos/kolibri/drivers/ddk
10
DRV_INCLUDES    = /d/kos/kolibri/drivers/include
11
DRM_TOPDIR   	= $(CURDIR)/..
12
 
5354 serge 13
INCLUDES =	-I$(DRV_INCLUDES)	\
14
		-I$(DRV_INCLUDES)/asm 	\
15
		-I$(DRV_INCLUDES)/uapi	\
16
		-I$(DRV_INCLUDES)/drm -I./ -I$(DRV_INCLUDES)
4104 Serge 17
 
6320 serge 18
CFLAGS_OPT = -O2 -march=i686 -msse2 -fomit-frame-pointer -fno-builtin-printf -fno-ident -mno-stack-arg-probe
4104 Serge 19
CFLAGS_OPT+= -mpreferred-stack-boundary=2 -mincoming-stack-boundary=2 -mno-ms-bitfields -flto
20
CFLAGS   = -c $(INCLUDES) $(DEFINES) $(CFLAGS_OPT)
21
 
4389 Serge 22
LIBPATH:= ../../../ddk
4104 Serge 23
 
4389 Serge 24
LIBS:=    -lddk -lcore -lgcc
4104 Serge 25
 
5060 serge 26
PE_FLAGS = --major-os-version,0,--minor-os-version,7,--major-subsystem-version,0,--minor-subsystem-version,5,--subsystem,native
4104 Serge 27
 
5060 serge 28
LDFLAGS = -e,_drvEntry,-nostdlib,-shared,-s,$(PE_FLAGS),--image-base,0,--file-alignment,512,--section-alignment,4096
4104 Serge 29
 
5060 serge 30
 
4104 Serge 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					\
6320 serge 47
			getopt.c				\
48
			getopt1.c				\
4104 Serge 49
			dvo_ch7017.c				\
50
			dvo_ch7xxx.c				\
51
			dvo_ivch.c				\
52
			dvo_ns2501.c				\
53
			dvo_sil164.c				\
54
			dvo_tfp410.c				\
5060 serge 55
			i915_cmd_parser.c			\
4104 Serge 56
			i915_dma.c				\
57
			i915_drv.c				\
58
			i915_gem.c				\
6084 serge 59
			i915_gem_batch_pool.c			\
4104 Serge 60
			i915_gem_context.c			\
4560 Serge 61
			i915_gem_execbuffer.c			\
6084 serge 62
			i915_gem_fence.c			\
5060 serge 63
			i915_gem_evict.c			\
4104 Serge 64
			i915_gem_gtt.c				\
5060 serge 65
			i915_gem_render_state.c			\
4104 Serge 66
			i915_gem_stolen.c			\
67
			i915_gem_tiling.c			\
4126 Serge 68
			i915_gpu_error.c			\
6084 serge 69
			i915_guc_submission.c			\
4104 Serge 70
			i915_irq.c				\
5060 serge 71
			i915_params.c				\
6084 serge 72
			i915_vgpu.c				\
73
			intel_atomic.c				\
74
			intel_atomic_plane.c			\
5354 serge 75
			intel_audio.c				\
4104 Serge 76
			intel_bios.c				\
6084 serge 77
			intel_csr.c				\
4104 Serge 78
			intel_crt.c				\
79
			intel_ddi.c				\
80
			intel_display.c				\
81
			intel_dp.c				\
6937 serge 82
			intel_dp_link_training.c		\
5060 serge 83
			intel_dp_mst.c				\
4560 Serge 84
			intel_dsi.c				\
5060 serge 85
			intel_dsi_panel_vbt.c			\
4560 Serge 86
			intel_dsi_pll.c				\
4104 Serge 87
			intel_dvo.c				\
6084 serge 88
			intel_fbc.c				\
4560 Serge 89
			intel_fbdev.c				\
5354 serge 90
			intel_fifo_underrun.c			\
91
			intel_frontbuffer.c			\
6084 serge 92
			intel_guc_loader.c			\
4104 Serge 93
			intel_hdmi.c				\
6320 serge 94
			intel_hotplug.c				\
4104 Serge 95
			intel_i2c.c				\
5354 serge 96
			intel_lrc.c				\
4104 Serge 97
			intel_lvds.c				\
6084 serge 98
			intel_mocs.c				\
4104 Serge 99
			intel_modes.c				\
100
			intel_panel.c				\
101
			intel_pm.c				\
5354 serge 102
			intel_psr.c				\
5060 serge 103
			intel_renderstate_gen6.c		\
104
			intel_renderstate_gen7.c		\
105
			intel_renderstate_gen8.c		\
5354 serge 106
			intel_renderstate_gen9.c		\
4104 Serge 107
			intel_ringbuffer.c			\
5354 serge 108
			intel_runtime_pm.c			\
4104 Serge 109
			intel_sdvo.c				\
110
			intel_sideband.c			\
111
			intel_sprite.c				\
112
			intel_uncore.c				\
113
			kms_display.c				\
6320 serge 114
			kos_cursor.c				\
115
			kos_fb.c				\
4104 Serge 116
			utils.c					\
6084 serge 117
			fwblob.asm				\
4104 Serge 118
			../hdmi.c				\
119
			Gtt/intel-agp.c				\
120
			Gtt/intel-gtt.c				\
4371 Serge 121
			../drm_cache.c				\
4104 Serge 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		\
7144 serge 129
			$(DRM_TOPDIR)/drm_dp_dual_mode_helper.c \
4104 Serge 130
			$(DRM_TOPDIR)/drm_dp_helper.c		\
6320 serge 131
			$(DRM_TOPDIR)/drm_dp_mst_topology.c	\
5354 serge 132
			$(DRM_TOPDIR)/drm_atomic.c		\
6084 serge 133
			$(DRM_TOPDIR)/drm_atomic_helper.c	\
134
			$(DRM_TOPDIR)/drm_bridge.c		\
4104 Serge 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			\
6084 serge 139
			$(DRM_TOPDIR)/drm_mipi_dsi.c		\
4104 Serge 140
			$(DRM_TOPDIR)/drm_mm.c			\
141
			$(DRM_TOPDIR)/drm_modes.c		\
5060 serge 142
			$(DRM_TOPDIR)/drm_modeset_lock.c	\
4104 Serge 143
			$(DRM_TOPDIR)/drm_pci.c			\
6084 serge 144
			$(DRM_TOPDIR)/drm_panel.c		\
5060 serge 145
			$(DRM_TOPDIR)/drm_plane_helper.c	\
146
			$(DRM_TOPDIR)/drm_probe_helper.c	\
4104 Serge 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
 
5060 serge 159
$(NAME).dll: $(NAME_OBJS) $(FW_BINS) $(SRC_DEP) i915.lds Makefile.lto
4104 Serge 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
 
6320 serge 169
fwblob.o:  fwblob.asm $(FW_BINS) Makefile
170
	$(FASM) $< $@
4104 Serge 171
 
6320 serge 172
 
4104 Serge 173
clean:
174
	-rm -f ../*/*.o
175
 
176