Subversion Repositories Kolibri OS

Rev

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

  1. LIBRARY = cairo2
  2.  
  3. CC = kos32-gcc
  4. AR = kos32-ar
  5. LD = kos32-ld
  6. STRIP = kos32-strip
  7.  
  8. CFLAGS = -c -O2 -ffast-math -Wall -Winline -Wno-attributes -fomit-frame-pointer
  9.  
  10. LDFLAGS = -shared -s -nostdlib -T ../newlib/dll.lds --entry _DllStartup --image-base=0 --version-script cairo.ver --output-def $(LIBRARY).orig.def
  11. LDFLAGS+= --out-implib lib$(LIBRARY).dll.a
  12.  
  13. ARFLAGS = crs
  14.  
  15. DEFINES = -U__WIN32__ -U_Win32 -U_WIN32 -U__MINGW32__ -U_MSC_VER -DHAVE_CONFIG_H=1 -DCAIRO_NO_MUTEX=1  
  16.  
  17. INCLUDES = -I. -I../newlib/include -I../pixman -I../zlib -I../libpng -I../freetype/include
  18.  
  19. LIBPATH:= -L../../lib -L/home/autobuild/tools/win32/mingw32/lib
  20.  
  21. LIBS:=  -ldll -lgcc -lfreetype.dll -lz.dll -lpixman-1.dll -lpng16.dll -lc.dll
  22.  
  23. CAIRO_SOURCES =                                 \
  24.         cairo.c                                 \
  25.         cairo-analysis-surface.c                \
  26.         cairo-arc.c                             \
  27.         cairo-array.c                           \
  28.         cairo-atomic.c                          \
  29.         cairo-base64-stream.c                   \
  30.         cairo-base85-stream.c                   \
  31.         cairo-bentley-ottmann.c                 \
  32.         cairo-bentley-ottmann-rectangular.c     \
  33.         cairo-bentley-ottmann-rectilinear.c     \
  34.         cairo-botor-scan-converter.c            \
  35.         cairo-boxes.c                           \
  36.         cairo-boxes-intersect.c                 \
  37.         cairo-cache.c                           \
  38.         cairo-cff-subset.c                      \
  39.         cairo-clip.c                            \
  40.         cairo-clip-boxes.c                      \
  41.         cairo-clip-polygon.c                    \
  42.         cairo-clip-region.c                     \
  43.         cairo-clip-surface.c                    \
  44.         cairo-clip-tor-scan-converter.c         \
  45.         cairo-color.c                           \
  46.         cairo-composite-rectangles.c            \
  47.         cairo-compositor.c                      \
  48.         cairo-contour.c                         \
  49.         cairo-damage.c                          \
  50.         cairo-debug.c                           \
  51.         cairo-default-context.c                 \
  52.         cairo-deflate-stream.c                  \
  53.         cairo-device.c                          \
  54.         cairo-error.c                           \
  55.         cairo-fallback-compositor.c             \
  56.         cairo-fixed.c                           \
  57.         cairo-font-face.c                       \
  58.         cairo-font-face-twin.c                  \
  59.         cairo-font-face-twin-data.c             \
  60.         cairo-font-options.c                    \
  61.         cairo-freed-pool.c                      \
  62.         cairo-freelist.c                        \
  63.         cairo-ft-font.c                         \
  64.         cairo-gstate.c                          \
  65.         cairo-hash.c                            \
  66.         cairo-hull.c                            \
  67.         cairo-image-compositor.c                \
  68.         cairo-image-info.c                      \
  69.         cairo-image-source.c                    \
  70.         cairo-image-surface.c                   \
  71.         cairo-lzw.c                             \
  72.         cairo-mask-compositor.c                 \
  73.         cairo-matrix.c                          \
  74.         cairo-mempool.c                         \
  75.         cairo-mesh-pattern-rasterizer.c         \
  76.         cairo-misc.c                            \
  77.         cairo-mono-scan-converter.c             \
  78.         cairo-mutex.c                           \
  79.         cairo-no-compositor.c                   \
  80.         cairo-observer.c                        \
  81.         cairo-output-stream.c                   \
  82.         cairo-paginated-surface.c               \
  83.         cairo-path.c                            \
  84.         cairo-path-bounds.c                     \
  85.         cairo-path-fill.c                       \
  86.         cairo-path-fixed.c                      \
  87.         cairo-path-in-fill.c                    \
  88.         cairo-path-stroke.c                     \
  89.         cairo-path-stroke-boxes.c               \
  90.         cairo-path-stroke-polygon.c             \
  91.         cairo-path-stroke-traps.c               \
  92.         cairo-path-stroke-tristrip.c            \
  93.         cairo-pattern.c                         \
  94.         cairo-pdf-operators.c                   \
  95.         cairo-pdf-shading.c                     \
  96.         cairo-pen.c                             \
  97.         cairo-png.c                             \
  98.         cairo-polygon.c                         \
  99.         cairo-polygon-intersect.c               \
  100.         cairo-polygon-reduce.c                  \
  101.         cairo-raster-source-pattern.c           \
  102.         cairo-recording-surface.c               \
  103.         cairo-rectangle.c                       \
  104.         cairo-rectangular-scan-converter.c      \
  105.         cairo-region.c                          \
  106.         cairo-rtree.c                           \
  107.         cairo-scaled-font.c                     \
  108.         cairo-scaled-font-subsets.c             \
  109.         cairo-script-surface.c                  \
  110.         cairo-shape-mask-compositor.c           \
  111.         cairo-slope.c                           \
  112.         cairo-spans.c                           \
  113.         cairo-spans-compositor.c                \
  114.         cairo-spline.c                          \
  115.         cairo-stroke-dash.c                     \
  116.         cairo-stroke-style.c                    \
  117.         cairo-surface.c                         \
  118.         cairo-surface-clipper.c                 \
  119.         cairo-surface-fallback.c                \
  120.         cairo-surface-offset.c                  \
  121.         cairo-surface-snapshot.c                \
  122.         cairo-surface-subsurface.c              \
  123.         cairo-surface-wrapper.c                 \
  124.         cairo-svg-surface.c                     \
  125.         cairo-tor22-scan-converter.c            \
  126.         cairo-tor-scan-converter.c              \
  127.         cairo-toy-font-face.c                   \
  128.         cairo-traps.c                           \
  129.         cairo-traps-compositor.c                \
  130.         cairo-tristrip.c                        \
  131.         cairo-truetype-subset.c                 \
  132.         cairo-type1-fallback.c                  \
  133.         cairo-type1-glyph-names.c               \
  134.         cairo-type1-subset.c                    \
  135.         cairo-type3-glyph-surface.c             \
  136.         cairo-unicode.c                         \
  137.         cairo-user-font.c                       \
  138.         cairo-version.c                         \
  139.         cairo-wideint.c                         \
  140.         $(NULL)
  141.  
  142.  
  143. SOURCES= $(CAIRO_SOURCES)
  144.  
  145. OBJECTS =  $(patsubst %.c, src/%.o, $(SOURCES))
  146.  
  147. ifeq ($(findstring ebox,$(MAKECMDGOALS)),ebox)
  148. CFLAGS+=-march=pentium-mmx
  149. endif
  150.  
  151. # targets
  152.  
  153.  
  154. all: lib$(LIBRARY).a $(LIBRARY).dll
  155.  
  156. ebox: lib$(LIBRARY).a $(LIBRARY).dll
  157.  
  158. lib$(LIBRARY).a: $(OBJECTS) Makefile
  159.         $(AR) $(ARFLAGS) lib$(LIBRARY).a $(OBJECTS)
  160.         mv -f lib$(LIBRARY).a ../../lib
  161.  
  162.  
  163. $(LIBRARY).dll: $(OBJECTS) Makefile
  164.         $(LD) $(LDFLAGS) $(LIBPATH) -o $@ $(OBJECTS) $(LIBS)
  165.         #sed -e "s/ @[^ ]*//" $(LIBRARY).orig.def > $(LIBRARY).def
  166.         #sed -f ../newlib/cmd1.sed $(LIBRARY).def > mem
  167.         #sed -f ../newlib/cmd2.sed mem >$(LIBRARY).inc
  168.         mv -f $@ ../../bin
  169.         mv -f lib$(LIBRARY).dll.a ../../lib  
  170.  
  171. %.o : %.c
  172.         $(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -o $@ $<
  173.  
  174. clean:
  175.         -rm -f */*.o
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.