Subversion Repositories Kolibri OS

Rev

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

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