• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Common NMake Makefile module for checking the build environment is sane
2# for building introspection files under MSVC/NMake.
3# This can be copied from $(gi_srcroot)\build\win32 for GNOME items
4# that support MSVC builds and introspection under MSVC.
5
6# Can override with env vars as needed
7# You will need to have built gobject-introspection for this to work.
8# Change or pass in or set the following to suit your environment
9
10!if "$(PREFIX)" == ""
11PREFIX = ..\..\..\vs$(VSVER)\$(PLAT)
12!endif
13
14# Note: The PYTHON must be the Python release series that was used to build
15# the GObject-introspection scanner Python module!
16# Either having python.exe your PATH will work or passing in
17# PYTHON=<full path to your Python interpretor> will do
18
19# This is required, and gobject-introspection needs to be built
20# before this can be successfully run.
21!if "$(PYTHON)" == ""
22PYTHON=python
23!endif
24
25# Don't change anything following this line!
26
27GIR_SUBDIR = share\gir-1.0
28GIR_TYPELIBDIR = lib\girepository-1.0
29G_IR_SCANNER = $(PREFIX)\bin\g-ir-scanner
30G_IR_COMPILER = $(PREFIX)\bin\g-ir-compiler.exe
31G_IR_INCLUDEDIR = $(PREFIX)\$(GIR_SUBDIR)
32G_IR_TYPELIBDIR = $(PREFIX)\$(GIR_TYPELIBDIR)
33
34VALID_PKG_CONFIG_PATH = FALSE
35
36MSG_INVALID_PKGCONFIG = You must set or specifiy a valid PKG_CONFIG_PATH
37MSG_INVALID_CFG = You need to specify or set CFG to be release or debug to use this Makefile to build the Introspection Files
38
39ERROR_MSG =
40
41BUILD_INTROSPECTION = TRUE
42
43!if ![pkg-config --print-errors --errors-to-stdout $(CHECK_PACKAGE) > pkgconfig.x]	\
44	&& ![setlocal]	\
45	&& ![set file="pkgconfig.x"]	\
46	&& ![FOR %A IN (%file%) DO @echo PKG_CHECK_SIZE=%~zA > pkgconfig.chksize]	\
47	&& ![del $(ERRNUL) /q/f pkgconfig.x]
48!endif
49
50!include pkgconfig.chksize
51!if "$(PKG_CHECK_SIZE)" == "0"
52VALID_PKG_CONFIG_PATH = TRUE
53!else
54VALID_PKG_CONFIG_PATH = FALSE
55!endif
56
57!if ![del $(ERRNUL) /q/f pkgconfig.chksize]
58!endif
59
60VALID_CFGSET = FALSE
61!if "$(CFG)" == "release" || "$(CFG)" == "debug"
62VALID_CFGSET = TRUE
63!endif
64
65!if "$(VALID_PKG_CONFIG_PATH)" != "TRUE"
66BUILD_INTROSPECTION = FALSE
67ERROR_MSG = $(MSG_INVALID_PKGCONFIG)
68!endif
69
70!if "$(VALID_CFGSET)" != "TRUE"
71BUILD_INTROSPECTION = FALSE
72ERROR_MSG = $(MSG_INVALID_CFG)
73!endif
74