diff options
-rw-r--r-- | Makefile.win32 | 45 | ||||
-rw-r--r-- | boilerplate/Makefile.win32 | 13 | ||||
-rw-r--r-- | src/Makefile.win32 | 18 | ||||
-rw-r--r-- | test/Makefile.win32 | 18 | ||||
-rw-r--r-- | test/pdiff/Makefile.win32 | 18 |
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) |