SUBMAKEFILE = 1 include ../Makefile.win32 DEFFILE = cairo.def srcdir = `pwd` SOURCES = \ cairo-arc.c \ cairo-array.c \ cairo-atomic.c \ cairo-bentley-ottmann.c \ cairo-cache.c \ cairo-clip.c \ cairo-color.c \ cairo-debug.c \ cairo-deflate-stream.c \ cairo-fixed.c \ cairo-font-options.c \ cairo-font-face.c \ cairo-freelist.c \ cairo-gstate.c \ cairo-hash.c \ cairo-hull.c \ cairo-image-surface.c \ cairo-lzw.c \ cairo-matrix.c \ cairo-meta-surface.c \ cairo-misc.c \ cairo-mutex.c \ cairo-output-stream.c \ cairo-path-bounds.c \ cairo-path-fixed.c \ cairo-path-fill.c \ cairo-path-stroke.c \ cairo-path.c \ cairo-pattern.c \ cairo-pdf-surface.c \ cairo-pdf-operators.c \ cairo-pen.c \ cairo-polygon.c \ cairo-png.c \ cairo-rectangle.c \ cairo-region.c \ cairo-scaled-font.c \ cairo-skiplist.c \ cairo-slope.c \ cairo-spline.c \ cairo-stroke-style.c \ cairo-surface-fallback.c \ cairo-surface.c \ cairo-traps.c \ cairo-cff-subset.c \ cairo-truetype-subset.c \ cairo-type1-fallback.c \ cairo-unicode.c \ cairo-wideint.c \ cairo-win32-font.c \ cairo.c \ cairo-svg-surface.c \ cairo-ps-surface.c \ cairo-pdf-surface.c \ cairo-scaled-font-subsets.c \ cairo-paginated-surface.c \ cairo-analysis-surface.c \ cairo-base85-stream.c \ cairo-win32-printing-surface.c \ cairo-win32.c \ $(NULL) STATIC_SOURCES = cairo-win32-surface.c cairo_headers = \ cairo.h \ cairo-pdf.h \ cairo-ps.h \ cairo-svg.h \ cairo-win32.h \ cairo-pdf-test.h \ cairo-ps-test.h \ cairo-scaled-font-test.h \ cairo-svg-test.h \ $(NULL) OBJECTS = $(patsubst %.c, $(CFG)/%.obj, $(SOURCES)) SHARED_OBJECTS = $(patsubst %.c, $(CFG)/%.obj, $(STATIC_SOURCES)) STATIC_OBJECTS = $(patsubst %.c, $(CFG)/%-static.obj, $(STATIC_SOURCES)) all: inform $(CFG)/cairo.dll $(CFG)/cairo-static.lib static: inform $(CFG)/cairo-static.lib dynamic: inform $(CFG)/cairo.dll $(DEFFILE): (echo EXPORTS; \ (cd $(srcdir); cat $(cairo_headers) || echo 'cairo_ERROR ()' ) | \ grep -v -E '^# *include' | \ ( gcc -include cairo-features.h -E - || echo 'cairo_ERROR ()' ) | \ grep -E '^_?cairo_.* \(' | \ sed -e 's/[ ].*//' | \ sort; \ echo LIBRARY cairo.dll; \ ) >$@ @ ! grep -q cairo_ERROR $@ || ($(RM) $@; false) $(CFG)/cairo.dll: $(OBJECTS) $(SHARED_OBJECTS) $(DEFFILE) $(CC) -MD -LD -Fe$@ $(PIXMAN_LIBS) $(OBJECTS) $(SHARED_OBJECTS) -link -DEF:$(DEFFILE) user32.lib gdi32.lib libpng.lib zdll.lib msimg32.lib $(CFG)/cairo-static.lib: $(OBJECTS) $(STATIC_OBJECTS) lib -NOLOGO -OUT:$@ $(PIXMAN_LIBS) $(OBJECTS) $(STATIC_OBJECTS) clean: @rm -f $(CFG)/*.obj $(CFG)/*.dll $(CFG)/*.lib $(CFG)/*.pdb $(CFG)/*.ilk || exit 0 inform: ifneq ($(CFG),release) ifneq ($(CFG),debug) @echo "Invalid configuration "$(CFG)" specified." @echo -n "You must specify a configuration when " @echo "running make, e.g. make CFG=debug" @echo @echo -n "Possible choices for configuration are " @echo "'release' and 'debug'" @exit 1 endif endif