[win32] Update win32 Makefiles

Happy building with msys, one location for CFLAGS/etc changes (toplevel),
new pdiff makefile.
This commit is contained in:
Vladimir Vukicevic 2007-08-27 15:29:24 -07:00
parent f4a8633fce
commit 19fa097f51
5 changed files with 84 additions and 30 deletions

View file

@ -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"$@" $<

View file

@ -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)

View file

@ -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

View file

@ -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
View 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)