summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.win3245
-rw-r--r--boilerplate/Makefile.win3213
-rw-r--r--src/Makefile.win3218
-rw-r--r--test/Makefile.win3218
-rw-r--r--test/pdiff/Makefile.win3218
5 files changed, 83 insertions, 29 deletions
diff --git a/Makefile.win32 b/Makefile.win32
index 25fee716e..cdde7d283 100644
--- a/Makefile.win32
+++ b/Makefile.win32
@@ -2,12 +2,34 @@
# Win32 makefile
#
-CAIRO_VERSION = 1.2.5
+CC := cl
+LINK := link
+OPT := -O2
+
+PIXMAN_CFLAGS := -I../../pixman/pixman
+PIXMAN_LIBS := ../../pixman/pixman/pixman-1.lib
+
+EXE_LDFLAGS = libpng.lib zlib.lib gdi32.lib msimg32.lib user32.lib
+
+DEFAULT_CFLAGS = -MD -Zi -nologo $(OPT)
+DEFAULT_CFLAGS += -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE
+DEFAULT_CFLAGS += -DPACKAGE_VERSION="" -DPACKAGE_BUGREPORT="" -DCAIRO_BUILD
+DEFAULT_CFLAGS += -I.
+DEFAULT_CFLAGS += $(PIXMAN_CFLAGS)
+DEFAULT_CFLAGS += -DCAIRO_NO_MUTEX=1
+
+CFLAGS := $(DEFAULT_CFLAGS)
+
CAIRO_VERSION_MAJOR = 1
-CAIRO_VERSION_MINOR = 2
-CAIRO_VERSION_MICRO = 5
+CAIRO_VERSION_MINOR = 5
+CAIRO_VERSION_MICRO = 1
+
+CAIRO_VERSION = $(CAIRO_VERSION_MAJOR).$(CAIRO_VERSION_MINOR).$(CAIRO_VERSION_MICRO)
-SUBDIRS = pixman/src src
+# Only if this was called as the top-level makefile
+ifeq ($(SUBMAKEFILE),)
+
+SUBDIRS = src
TEST_SUBDIRS = boilerplate test
@@ -16,15 +38,26 @@ all: cairo
cairo: src/cairo-features.h
@list='$(SUBDIRS)'; for f in $$list ; do \
echo making all in $$f... ; \
- (cd $$f ; make -f Makefile.win32) || exit 1 ; \
+ (cd $$f ; $(MAKE) -f Makefile.win32 CC="$(CC)" LINK="$(LINK)" OPT="$(OPT)" CFLAGS="$(CFLAGS)" PIXMAN_LIBS="$(PIXMAN_LIBS)") || exit 1 ; \
done
test: cairo
@list='$(TEST_SUBDIRS)'; for f in $$list ; do \
echo making all in $$f... ; \
- (cd $$f ; make -f Makefile.win32) || exit 1 ; \
+ (cd $$f ; $(MAKE) -f Makefile.win32 CC="$(CC)" LINK="$(LINK)" OPT="$(OPT)" CFLAGS="$(CFLAGS)" PIXMAN_LIBS="$(PIXMAN_LIBS)") || exit 1 ; \
done
@(cd test ; make -f Makefile.win32 test)
html:
@(cd test ; make -f Makefile.win32 html)
+
+endif
+
+# Some generic rules
+
+%.obj: %.c
+ @$(CC) $(CFLAGS) -c -Fo"$@" $<
+
+%-static.obj: %.c
+ @$(CC) $(CFLAGS) -c -DCAIRO_WIN32_STATIC_BUILD=1 -Fo"$@" $<
+
diff --git a/boilerplate/Makefile.win32 b/boilerplate/Makefile.win32
index 87c1d44ee..c746f6b75 100644
--- a/boilerplate/Makefile.win32
+++ b/boilerplate/Makefile.win32
@@ -1,5 +1,9 @@
-CC = cl
-CFLAGS = /nologo /MD /Zi /O2 /I../src /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE
+
+SUBMAKEFILE = 1
+
+include ../Makefile.win32
+
+CFLAGS += -I../src
SOURCES = \
cairo-boilerplate.c \
@@ -10,9 +14,6 @@ OBJECTS = $(subst .c,.obj,$(SOURCES))
all: boiler.lib
-%.obj: %.c
- @$(CC) $(CFLAGS) /c /Fo"$@" $<
-
boiler.lib: $(OBJECTS)
- lib /NOLOGO /OUT:$@ $(OBJECTS)
+ lib -NOLOGO -OUT:$@ $(OBJECTS)
diff --git a/src/Makefile.win32 b/src/Makefile.win32
index c322e452f..037f9c394 100644
--- a/src/Makefile.win32
+++ b/src/Makefile.win32
@@ -1,7 +1,7 @@
-CC = cl
-LINK = link
-CFLAGS = /MD /Zi /nologo /O2 /c /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /I../pixman/src /I. /DPACKAGE_VERSION="" /DPACKAGE_BUGREPORT="" /DCAIRO_BUILD
+SUBMAKEFILE = 1
+
+include ../Makefile.win32
DEFFILE = cairo.def
srcdir = `pwd`
@@ -26,6 +26,7 @@ SOURCES = \
cairo-lzw.c \
cairo-matrix.c \
cairo-meta-surface.c \
+ cairo-mutex.c \
cairo-output-stream.c \
cairo-operator.c \
cairo-path-bounds.c \
@@ -83,12 +84,6 @@ STATIC_OBJECTS = $(subst .c,-static.obj,$(STATIC_SOURCES))
all: cairo.dll cairo-static.lib
-%.obj: %.c
- @$(CC) $(CFLAGS) /Fo"$@" $<
-
-%-static.obj: %.c
- @$(CC) $(CFLAGS) /DCAIRO_WIN32_STATIC_BUILD=1 /Fo"$@" $<
-
$(DEFFILE):
(echo EXPORTS; \
(cd $(srcdir); cat $(cairo_headers) || echo 'cairo_ERROR ()' ) | \
@@ -102,11 +97,10 @@ $(DEFFILE):
@ ! grep -q cairo_ERROR $@ || ($(RM) $@; false)
cairo.dll: $(OBJECTS) $(SHARED_OBJECTS) $(DEFFILE)
- $(CC) /MD /Zi /LD /Fe$@ ../pixman/src/pixman.lib $(OBJECTS) $(SHARED_OBJECTS) /link /DEF:$(DEFFILE) user32.lib gdi32.lib libpng.lib zlib.lib
+ $(CC) -MD -Zi -LD -Fe$@ $(PIXMAN_LIBS) $(OBJECTS) $(SHARED_OBJECTS) -link -DEF:$(DEFFILE) user32.lib gdi32.lib libpng.lib zdll.lib
cairo-static.lib: $(OBJECTS) $(STATIC_OBJECTS)
- lib /NOLOGO /OUT:$@ ../pixman/src/pixman.lib $(OBJECTS) $(STATIC_OBJECTS)
-
+ lib -NOLOGO -OUT:$@ $(PIXMAN_LIBS) $(OBJECTS) $(STATIC_OBJECTS)
clean:
@rm -f *.obj *.dll *.lib *.pdb *.ilk || exit 0
diff --git a/test/Makefile.win32 b/test/Makefile.win32
index 9797b7580..27d82286e 100644
--- a/test/Makefile.win32
+++ b/test/Makefile.win32
@@ -1,6 +1,11 @@
-CC = cl
-CFLAGS = /nologo /Zi /O2 /MD /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /I../src /I../pixman/src /I../boilerplate
-LDFLAGS = ../src/cairo.lib ../pixman/src/pixman.lib ../boilerplate/boiler.lib libpng.lib zlib.lib gdi32.lib msimg32.lib user32.lib
+
+SUBMAKEFILE = 1
+
+include ../Makefile.win32
+
+CFLAGS += -I../src -I../boilerplate -I./pdiff
+
+LDFLAGS += ./pdiff/pdiff.lib ../src/cairo.lib $(PIXMAN_LIBS) ../boilerplate/boiler.lib $(EXE_LDFLAGS)
TESTS = \
a8-mask \
@@ -98,8 +103,11 @@ TEST_EXE = $(addsuffix .exe,$(TESTS))
all: $(TEST_EXE)
-%.exe: %.c
- @$(CC) $(CFLAGS) /Fe"$@" $< $(TESTCORE_SOURCES) /link $(LDFLAGS)
+%.exe: %.c ./pdiff/pdiff.lib
+ @$(CC) $(CFLAGS) -Fe"$@" $< $(TESTCORE_SOURCES) -link $(LDFLAGS)
+
+./pdiff/pdiff.lib:
+ (cd pdiff ; $(MAKE) -f Makefile.win32)
test: $(TEST_EXE)
@for exe in $(TEST_EXE) ; do \
diff --git a/test/pdiff/Makefile.win32 b/test/pdiff/Makefile.win32
new file mode 100644
index 000000000..c5d3f6bb0
--- /dev/null
+++ b/test/pdiff/Makefile.win32
@@ -0,0 +1,18 @@
+
+SUBMAKEFILE = 1
+
+include ../../Makefile.win32
+
+CFLAGS += -I../../src
+
+SOURCES = \
+ lpyramid.c \
+ pdiff.c \
+ $(NULL)
+
+OBJECTS = $(subst .c,.obj,$(SOURCES))
+
+all: pdiff.lib
+
+pdiff.lib: $(OBJECTS)
+ lib -NOLOGO -OUT:$@ $(OBJECTS)