summaryrefslogtreecommitdiff
path: root/Makefile.win32
blob: cdde7d283216cbcd096284fca263d2a3c018f2e9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#
# Win32 makefile
#

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

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