blob: 16531fe95bf532ee08211a808c01b511d15c2109 [file] [log] [blame]
Dan Walsh46d294f2012-01-27 14:00:34 -05001SUBDIRS = src include utils man
2
Jason Zaman3eebfc22017-04-25 01:59:54 +08003PKG_CONFIG ?= pkg-config
Joshua Brindle13cd4c82008-08-19 15:30:36 -04004DISABLE_SETRANS ?= n
Stephen Smalley116a5962016-09-29 15:44:10 -04005DISABLE_RPM ?= n
William Robertsb5dd7952016-09-28 12:17:59 -04006ANDROID_HOST ?= n
7ifeq ($(ANDROID_HOST),y)
8 override DISABLE_SETRANS=y
William Robertsadca1032016-09-29 14:02:25 -04009 override DISABLE_BOOL=y
William Robertsb5dd7952016-09-28 12:17:59 -040010endif
Guillem Jovera2737332012-11-20 16:27:55 +010011ifeq ($(DISABLE_RPM),y)
William Roberts9b3e18e2016-09-28 12:00:23 -040012 DISABLE_FLAGS+= -DDISABLE_RPM
Guillem Jovera2737332012-11-20 16:27:55 +010013endif
Joshua Brindle13cd4c82008-08-19 15:30:36 -040014ifeq ($(DISABLE_SETRANS),y)
William Roberts9b3e18e2016-09-28 12:00:23 -040015 DISABLE_FLAGS+= -DDISABLE_SETRANS
Joshua Brindle13cd4c82008-08-19 15:30:36 -040016endif
William Robertsadca1032016-09-29 14:02:25 -040017ifeq ($(DISABLE_BOOL),y)
18 DISABLE_FLAGS+= -DDISABLE_BOOL
19endif
William Robertsb5dd7952016-09-28 12:17:59 -040020export DISABLE_SETRANS DISABLE_RPM DISABLE_FLAGS ANDROID_HOST
Joshua Brindle13cd4c82008-08-19 15:30:36 -040021
Janis Danisevskis50f09102016-09-15 17:14:33 +010022USE_PCRE2 ?= n
23ifeq ($(USE_PCRE2),y)
Petr Lautrbach80d69272017-10-11 10:53:45 +020024 PCRE_MODULE := libpcre2-8
25 PCRE_CFLAGS := -DUSE_PCRE2 -DPCRE2_CODE_UNIT_WIDTH=8
Janis Danisevskis50f09102016-09-15 17:14:33 +010026else
Petr Lautrbach80d69272017-10-11 10:53:45 +020027 PCRE_MODULE := libpcre
Janis Danisevskis50f09102016-09-15 17:14:33 +010028endif
Petr Lautrbach80d69272017-10-11 10:53:45 +020029PCRE_CFLAGS += $(shell $(PKG_CONFIG) --cflags $(PCRE_MODULE))
30PCRE_LDLIBS := $(shell $(PKG_CONFIG) --libs $(PCRE_MODULE))
31export PCRE_MODULE PCRE_CFLAGS PCRE_LDLIBS
Janis Danisevskis50f09102016-09-15 17:14:33 +010032
William Roberts16c123f2016-10-17 16:24:08 -040033OS := $(shell uname)
34export OS
35
36ifeq ($(shell $(CC) -v 2>&1 | grep "clang"),)
37COMPILER := gcc
38else
39COMPILER := clang
40endif
41export COMPILER
42
Dan Walsh46d294f2012-01-27 14:00:34 -050043all install relabel clean distclean indent:
44 @for subdir in $(SUBDIRS); do \
45 (cd $$subdir && $(MAKE) $@) || exit 1; \
46 done
Joshua Brindle13cd4c82008-08-19 15:30:36 -040047
48swigify: all
Dan Walsh46d294f2012-01-27 14:00:34 -050049 $(MAKE) -C src swigify $@
Joshua Brindle13cd4c82008-08-19 15:30:36 -040050
51pywrap:
Dan Walsh46d294f2012-01-27 14:00:34 -050052 $(MAKE) -C src pywrap $@
Joshua Brindle13cd4c82008-08-19 15:30:36 -040053
54rubywrap:
Dan Walsh46d294f2012-01-27 14:00:34 -050055 $(MAKE) -C src rubywrap $@
Joshua Brindle13cd4c82008-08-19 15:30:36 -040056
57install-pywrap:
Dan Walsh46d294f2012-01-27 14:00:34 -050058 $(MAKE) -C src install-pywrap $@
Joshua Brindle13cd4c82008-08-19 15:30:36 -040059
60install-rubywrap:
Dan Walsh46d294f2012-01-27 14:00:34 -050061 $(MAKE) -C src install-rubywrap $@
Joshua Brindle13cd4c82008-08-19 15:30:36 -040062
Laurent Bigonville640edd62016-10-26 23:41:54 +020063clean-pywrap:
64 $(MAKE) -C src clean-pywrap $@
65
66clean-rubywrap:
67 $(MAKE) -C src clean-rubywrap $@
68
Joshua Brindle13cd4c82008-08-19 15:30:36 -040069test: