cairo/src/Makefile.win32
2008-02-19 00:17:47 -05:00

126 lines
2.9 KiB
Text

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