summaryrefslogtreecommitdiff
path: root/src/Makefile
blob: 7b980aba2324240fa8be78f030a0d7ecc653776d (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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#
# Enhanced Seccomp Library Makefile
#
# Copyright (c) 2012 Red Hat <pmoore@redhat.com>
# Author: Paul Moore <pmoore@redhat.com>
#

#
# This library is free software; you can redistribute it and/or modify it
# under the terms of version 2.1 of the GNU Lesser General Public License as
# published by the Free Software Foundation.
#
# This library is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
# for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this library; if not, see <http://www.gnu.org/licenses>.
#

#
# macros
#

include ../macros.mk

#
# configuration
#

include $(TOPDIR)/version_info.mk
include $(TOPDIR)/configure.mk
include $(TOPDIR)/install.mk

LIB_STATIC = libseccomp.a
LIB_SHARED = libseccomp.so.$(VERSION_RELEASE)

OBJS = \
	api.o db.o arch.o \
	arch-x86.o arch-x86-syscalls.o \
	arch-x86_64.o arch-x86_64-syscalls.o \
	arch-x32.o arch-x32-syscalls.o \
	arch-arm.o arch-arm-syscalls.o \
	hash.o \
	gen_pfc.o gen_bpf.o

DEPS = $(OBJS:%.o=%.d)

#
# bindings configuration
#

BINDINGS =

ifeq ($(CONF_BINDINGS_PYTHON), 1)
	BINDINGS += python
endif

#
# targets
#

.PHONY: all install clean python

all: $(LIB_STATIC) $(LIB_SHARED) $(BINDINGS)

-include $(DEPS)

$(LIB_STATIC): $(OBJS)
	$(ARCHIVE)

$(LIB_SHARED): $(OBJS)
	$(LINK_LIB)

python: $(LIB_STATIC)
	@$(ECHO_INFO) "building in directory $@/ ..."
	@$(MAKE) -C $@

install: $(LIB_SHARED)
	$(INSTALL_LIB_MACRO)
	@for dir in $(BINDINGS); do \
		$(ECHO) ">> INFO: installing from $$dir/"; \
		$(MAKE) -C $$dir install; \
	done

clean:
	$(RM) $(DEPS) $(OBJS) $(LIB_STATIC) libseccomp.so.*
	@for dir in python; do \
		$(MAKE) -C $$dir clean; \
	done