Subversion Repositories Kolibri OS

Rev

Rev 4349 | Go to most recent revision | Blame | Last modification | View Log | RSS feed

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