File: Makefile

package info (click to toggle)
lua-lgi 0.9.2-4
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 1,376 kB
  • sloc: ansic: 5,082; makefile: 169; sh: 31
file content (87 lines) | stat: -rw-r--r-- 2,265 bytes parent folder | download | duplicates (2)
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#
# Makefile for compiling lgi testsuite support
#
# Author: Pavel Holejsovsky <pavel.holejsovsky@gmail.com>
# License: MIT
#

HOST_OS = $(shell uname -s | tr A-Z a-z)

ifneq ($(filter cygwin% msys% mingw%, $(HOST_OS)),)
EXT = .dll
PFX = cyg
LIBFLAG = -shared
else
ifeq ($(HOST_OS),darwin)
EXT = .so
PFX = lib
LIBFLAG = -bundle -undefined dynamic_lookup
CCSHARED = -fno-common
else
EXT = .so
PFX = lib
LIBFLAG = -shared
CCSHARED = -fPIC
endif
endif

PKGS = gio-2.0 cairo cairo-gobject gobject-introspection-1.0 gmodule-2.0 libffi
LUA = lua
PKG_CONFIG = pkg-config

ifndef CFLAGS
ifndef COPTFLAGS
CFLAGS = -Wall -g
endif
endif
ALL_CFLAGS = $(CCSHARED) $(COPTFLAGS) $(LUA_CFLAGS) $(shell $(PKG_CONFIG) --cflags $(PKGS)) $(CFLAGS) -I .
LIBS += $(shell $(PKG_CONFIG) --libs $(PKGS))
ALL_LDFLAGS = $(LIBFLAG) $(LDFLAGS)
DEPCHECK = .depcheck

# Precondition check
$(DEPCHECK) : Makefile
	$(PKG_CONFIG) --exists '$(PKGS) >= 0.10.8' --print-errors
	touch $@

REGRESS = $(PFX)regress$(EXT)
REGRESS_OBJS = regress.o

.PHONY : all clean check

all : Regress-1.0.typelib

clean :
	rm -f $(REGRESS) $(REGRESS_OBJS) Regress-1.0.gir Regress-1.0.typelib

check : all
	cd .. && LD_LIBRARY_PATH=tests:$$LD_LIBRARY_PATH \
	    GI_TYPELIB_PATH=tests:$$GI_TYPELIB_PATH \
	    LUA_PATH="./?.lua;${LUA_PATH};" \
	    LUA_CPATH="./?.so;${LUA_CPATH};" \
	    $(shell command -v dbus-run-session || echo /usr/bin/dbus-launch) $(LUA) tests/test.lua

$(REGRESS) : regress.o
	$(CC) $(ALL_LDFLAGS) -o $@ regress.o $(LIBS)

GIDATADIR = $(shell $(PKG_CONFIG) --variable=gidatadir gobject-introspection-1.0)/tests

regress.o : $(GIDATADIR)/regress.c $(GIDATADIR)/regress.h $(DEPCHECK)
	if [ ! -e /usr/share/gobject-introspection-1.0/tests/config.h ]; then\
		touch config.h;\
	fi
	$(CC) -I . $(CPPFLAGS) $(ALL_CFLAGS) -c -o $@ $<

# Build .gir and .typelib
Regress-1.0.gir : $(REGRESS)
	LDFLAGS="" CFLAGS=""						\
	g-ir-scanner --warn-all --no-libtool --quiet --output=$@	\
	  --namespace=Regress --nsversion=1.0				\
	  --include=cairo-1.0 --include=Gio-2.0				\
	  --library-path=/usr/lib --library-path=/usr/X11R6/lib		\
	  --library-path=/usr/local/lib					\
	  $(GIDATADIR)/regress.c $(GIDATADIR)/regress.h			\
	 -lregress

Regress-1.0.typelib : Regress-1.0.gir
	g-ir-compiler --output=$@ $<