Subversion Repositories Kolibri OS

Rev

Rev 4501 | Rev 4866 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. CC=gcc
  2. LD = ld
  3. AR= ar
  4.  
  5. LIBRARY= pixlib
  6.  
  7. CFLAGS = -U_Win32 -U_WIN32 -U__MINGW32__ -c -O2 -fomit-frame-pointer
  8.  
  9. STRIP = $(PREFIX)strip
  10.  
  11. LDFLAGS:=  -shared -s -nostdlib -T ../newlib/dll.lds --entry _DllStartup --image-base=0
  12. PXFLAGS:= --version-script pixlib.ver --output-def $(LIBRARY).orig.def --out-implib $(LIBRARY).dll.a
  13. SNAFLAGS:= --version-script sna.ver --output-def sna.def
  14. UXAFLAGS:= --version-script uxa.ver --output-def uxa.def
  15.  
  16. INCLUDES= -I. -I../libdrm/intel -I../libdrm/include/drm -I./render_program -I../pixman -I../newlib/include
  17.  
  18. LIBPATH:= -L../../lib
  19.  
  20. LIBS:=  -ldll -lc.dll
  21.  
  22. DEFINES:= -DHAS_DEBUG_FULL=0 -DSHOW_BATCH=0 -DDEBUG_DUMP=0
  23.  
  24.  
  25. SRC_PIXLIB =    pixlib.c
  26.  
  27. SRC_SNA =                               \
  28.                 sna/gen4_common.c       \
  29.                 sna/gen6_common.c       \
  30.                 sna/gen3_render.c       \
  31.                 sna/gen4_render.c       \
  32.                 sna/gen4_vertex.c       \
  33.                 sna/gen5_render.c       \
  34.                 sna/gen6_render.c       \
  35.                 sna/gen7_render.c       \
  36.                 sna/kgem.c              \
  37.                 sna/sna.c               \
  38.                 sna/sna_cpu.c           \
  39.                 sna/sna_stream.c        \
  40.                 sna/sna_transform.c     \
  41.                 sna/utils.c             \
  42.                 sna/brw/brw_eu.c        \
  43.                 sna/brw/brw_eu_emit.c   \
  44.                 sna/brw/brw_sf.c        \
  45.                 sna/brw/brw_wm.c
  46.  
  47. SRC_UXA =       pixlib_uxa.c            \
  48.                 uxa/uxa.c               \
  49.                 uxa/i965_3d.c           \
  50.                 uxa/i965_render.c       \
  51.                 uxa/intel_batchbuffer.c
  52.  
  53. OBJ_PIXLIB =  $(patsubst %.c, %.o, $(SRC_PIXLIB))
  54. OBJ_UXA =   $(patsubst %.c, %.o, $(SRC_UXA))
  55. OBJ_SNA =   $(patsubst %.c, %.o, $(SRC_SNA))
  56.  
  57. ifeq ($(findstring ebox,$(MAKECMDGOALS)),ebox)
  58. CFLAGS+=-march=pentium-mmx
  59. DEFINES+= -DBUILD_EBOX
  60. else
  61. LIBS+= -ldrm.dll
  62. ifeq ($(findstring uxa,$(MAKECMDGOALS)),uxa)
  63. OBJECTS= $(OBJ_UXA)
  64. DEFINES+= -DBUILD_UXA
  65. else
  66. OBJECTS= $(OBJ_SNA)
  67. DEFINES+= -DBUILD_SNA
  68. LIBS+= -lgcc
  69. endif
  70. endif
  71.  
  72. # targets
  73.  
  74. all:$(LIBRARY).dll intel-sna.drv
  75. uxa:$(LIBRARY).dll intel-uxa.drv
  76. ebox:$(LIBRARY).dll
  77.  
  78.  
  79. $(LIBRARY).dll: $(OBJ_PIXLIB) Makefile
  80.         $(LD) $(LDFLAGS) $(PXFLAGS) $(LIBPATH) -o $@ $(OBJ_PIXLIB) $(LIBS)
  81.         $(STRIP) $@
  82.         mv -f $@ ../../bin
  83.         mv -f $(LIBRARY).dll.a ../../lib  
  84.  
  85. intel-sna.drv: $(OBJ_SNA) Makefile
  86.         $(LD) $(LDFLAGS) $(SNAFLAGS) $(LIBPATH) -o $@ $(OBJ_SNA) $(LIBS)
  87.         $(STRIP) $@
  88.         mv -f $@ ../../bin
  89.  
  90. intel-uxa.drv: $(OBJ_UXA) Makefile
  91.         $(LD) $(LDFLAGS) $(UXAFLAGS) $(LIBPATH) -o $@ $(OBJ_UXA) $(LIBS)
  92.         $(STRIP) $@
  93.         mv -f $@ ../../bin
  94.  
  95. %.o : %.c Makefile
  96.         $(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -o $@ $<
  97.  
  98. clean:
  99.         -rm -f *.o
  100.  
  101.  
  102.  
  103.  
  104.