LIBRARY= pixlib CC=gcc CFLAGS = -U_Win32 -U_WIN32 -U__MINGW32__ -c -O2 -fomit-frame-pointer LD = ld AR= ar STRIP = $(PREFIX)strip LDFLAGS:= -shared -s -nostdlib -T ../newlib/dll.lds --entry _DllStartup --image-base=0 PXFLAGS:= --version-script pixlib.ver --output-def $(LIBRARY).orig.def --out-implib $(LIBRARY).dll.a SNAFLAGS:= --version-script sna.ver --output-def sna.def INCLUDES= -I. -I../libdrm/intel -I../libdrm/include/drm -I./render_program -I../pixman -I../newlib/include LIBPATH:= -L../../lib LIBS:= -ldll -lc.dll DEFINES:= -DHAS_DEBUG_FULL=0 -DSHOW_BATCH=0 -DDEBUG_DUMP=0 SRC_PIXLIB = pixlib.c SRC_SNA = sna/gen3_render.c \ sna/gen4_render.c \ sna/gen4_vertex.c \ sna/gen5_render.c \ sna/gen6_render.c \ sna/gen7_render.c \ sna/kgem.c \ sna/sna.c \ sna/sna_cpu.c \ sna/sna_stream.c \ sna/sna_transform.c \ sna/utils.c \ sna/brw/brw_eu.c \ sna/brw/brw_eu_emit.c \ sna/brw/brw_sf.c \ sna/brw/brw_wm.c SRC_UXA = pixlib_uxa.c \ uxa/uxa.c \ uxa/i965_3d.c \ uxa/i965_render.c \ uxa/intel_batchbuffer.c OBJ_PIXLIB = $(patsubst %.c, %.o, $(SRC_PIXLIB)) OBJ_UXA = $(patsubst %.c, %.o, $(SRC_UXA)) OBJ_SNA = $(patsubst %.c, %.o, $(SRC_SNA)) ifeq ($(findstring ebox,$(MAKECMDGOALS)),ebox) CFLAGS+=-march=pentium-mmx DEFINES+= -DBUILD_EBOX else LIBS+= -ldrm.dll ifeq ($(findstring uxa,$(MAKECMDGOALS)),uxa) OBJECTS= $(OBJ_UXA) DEFINES+= -DBUILD_UXA else OBJECTS= $(OBJ_SNA) DEFINES+= -DBUILD_SNA LIBS+= -lgcc endif endif # targets all:$(LIBRARY).dll intel-sna.drv uxa:$(LIBRARY).dll ebox:$(LIBRARY).dll $(LIBRARY).dll: $(OBJ_PIXLIB) Makefile $(LD) $(LDFLAGS) $(PXFLAGS) $(LIBPATH) -o $@ $(OBJ_PIXLIB) $(LIBS) $(STRIP) $@ mv -f $@ ../../bin mv -f $(LIBRARY).dll.a ../../lib intel-sna.drv: $(OBJ_SNA) Makefile $(LD) $(LDFLAGS) $(SNAFLAGS) $(LIBPATH) -o $@ $(OBJ_SNA) $(LIBS) $(STRIP) $@ mv -f $@ ../../bin intel-uxa.drv: $(OBJ_UXA) Makefile $(LD) $(LDFLAGS) $(LIBPATH) -o $@ $(OBJ_UXA) $(LIBS) $(STRIP) $@ mv -f $@ ../../bin %.o : %.c Makefile $(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -o $@ $< clean: -rm -f *.o