CC = kos32-gcc FASM = fasm.exe DEFINES = -DDRM_DEBUG_CODE=0 -D__KERNEL__ -DCONFIG_X86_32 -DCONFIG_PCI -DCONFIG_X86_CMPXCHG64 DEFINES += -DCONFIG_TINY_RCU -DCONFIG_X86_L1_CACHE_SHIFT=6 DEFINES+= -DKBUILD_MODNAME=\"vmwgfx.dll\" DDK_TOPDIR = /d/kos/kolibri/drivers/ddk DRV_INCLUDES = /d/kos/kolibri/drivers/include DRM_TOPDIR = $(CURDIR)/.. INCLUDES = -I$(DRV_INCLUDES) \ -I$(DRV_INCLUDES)/asm \ -I$(DRV_INCLUDES)/uapi \ -I$(DRV_INCLUDES)/drm -I./ -I$(DRV_INCLUDES) CFLAGS= -c -O2 $(INCLUDES) $(DEFINES) -march=i686 -fno-ident -msse2 -fomit-frame-pointer -fno-builtin-printf CFLAGS+= -mno-stack-arg-probe -mno-ms-bitfields LIBPATH:= $(DDK_TOPDIR) LIBS:= -lddk -lcore -lgcc PE_FLAGS = --major-os-version 0 --minor-os-version 7 --major-subsystem-version 0 \ --minor-subsystem-version 5 --subsystem native LDFLAGS = -nostdlib -shared -s $(PE_FLAGS) --image-base 0\ --file-alignment 512 --section-alignment 4096 NAME:= vmwgfx 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 NAME_SRC= \ vmwgfx_binding.c \ vmwgfx_buffer.c \ vmwgfx_cmdbuf.c \ vmwgfx_cmdbuf_res.c \ vmwgfx_context.c \ vmwgfx_cotable.c \ vmwgfx_dmabuf.c \ vmwgfx_drv.c \ vmwgfx_execbuf.c \ vmwgfx_fb.c \ vmwgfx_fence.c \ vmwgfx_fifo.c \ vmwgfx_gmr.c \ vmwgfx_gmrid_manager.c \ vmwgfx_irq.c \ vmwgfx_kms.c \ vmwgfx_ldu.c \ vmwgfx_marker.c \ vmwgfx_mob.c \ vmwgfx_overlay.c \ vmwgfx_prime.c \ vmwgfx_resource.c \ vmwgfx_scrn.c \ vmwgfx_shader.c \ vmwgfx_so.c \ vmwgfx_stdu.c \ vmwgfx_surface.c \ vmwgfx_ttm_glue.c \ main.c \ pci.c \ ../hdmi.c \ ../i2c/i2c-core.c \ ../ttm/ttm_bo.c \ ../ttm/ttm_bo_manager.c \ ../ttm/ttm_bo_util.c \ ../ttm/ttm_execbuf_util.c \ ../ttm/ttm_lock.c \ ../ttm/ttm_memory.c \ ../ttm/ttm_object.c \ ../ttm/ttm_page_alloc.c \ ../ttm/ttm_tt.c \ ../drm_atomic.c \ ../drm_atomic_helper.c \ ../drm_bridge.c \ ../drm_cache.c \ ../drm_crtc.c \ ../drm_crtc_helper.c \ ../drm_drv.c \ ../drm_edid.c \ ../drm_gem.c \ ../drm_global.c \ ../drm_hashtab.c \ ../drm_irq.c \ ../drm_mm.c \ ../drm_modes.c \ ../drm_modeset_lock.c \ ../drm_pci.c \ ../drm_plane_helper.c \ ../drm_rect.c \ ../drm_stub.c \ ../drm_vma_manager.c NAME_OBJS = $(patsubst %.S, %.o, $(patsubst %.asm, %.o,\ $(patsubst %.c, %.o, $(NAME_SRC)))) all: $(NAME).dll $(NAME).dll: $(NAME_OBJS) vmw.lds Makefile $(LD) -L$(LIBPATH) $(LDFLAGS) -T vmw.lds -o $@ $(NAME_OBJS) $(LIBS) %.o : %.c $(HFILES) Makefile $(CC) $(CFLAGS) $(DEFINES) -o $@ $< %.o : %.S $(HFILES) Makefile $(AS) -o $@ $< clean: -rm -f */*.o