mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2026-02-04 08:20:28 +01:00
[win32] Update win32 Makefiles
Happy building with msys, one location for CFLAGS/etc changes (toplevel), new pdiff makefile.
This commit is contained in:
parent
f4a8633fce
commit
19fa097f51
5 changed files with 84 additions and 30 deletions
|
|
@ -2,12 +2,34 @@
|
|||
# Win32 makefile
|
||||
#
|
||||
|
||||
CAIRO_VERSION = 1.2.5
|
||||
CAIRO_VERSION_MAJOR = 1
|
||||
CAIRO_VERSION_MINOR = 2
|
||||
CAIRO_VERSION_MICRO = 5
|
||||
CC := cl
|
||||
LINK := link
|
||||
OPT := -O2
|
||||
|
||||
SUBDIRS = pixman/src src
|
||||
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 = 5
|
||||
CAIRO_VERSION_MICRO = 1
|
||||
|
||||
CAIRO_VERSION = $(CAIRO_VERSION_MAJOR).$(CAIRO_VERSION_MINOR).$(CAIRO_VERSION_MICRO)
|
||||
|
||||
# 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"$@" $<
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 \
|
||||
|
|
|
|||
18
test/pdiff/Makefile.win32
Normal file
18
test/pdiff/Makefile.win32
Normal file
|
|
@ -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)
|
||||
Loading…
Add table
Reference in a new issue