summaryrefslogtreecommitdiffstats
path: root/rules/ltp-kernel.make
blob: 7d9f1b41c9cd356b4b1a247aa4d6aa8d2adbe414 (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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# -*-makefile-*-
#
# Copyright (C) 2008 by Robert Schwebel <r.schwebel@pengutronix.de>
#           (C) 2010 by Michael Olbrich <m.olbrich@pengutronix.de>
#
# See CREDITS for details about who has contributed to this project.
#
# For further information about the PTXdist project and license conditions
# see the README file.
#

#
# We provide this package
#
PACKAGES-$(PTXCONF_LTP_KERNEL) += ltp-kernel

#
# Paths and names
#
LTP_KERNEL_VERSION	:= $(LTP_BASE_VERSION)
LTP_KERNEL		:= ltp-kernel-$(LTP_BASE_VERSION)
LTP_KERNEL_PKGDIR	= $(PKGDIR)/$(LTP_KERNEL)

# ----------------------------------------------------------------------------
# Extract
# ----------------------------------------------------------------------------

$(STATEDIR)/ltp-kernel.extract:
	@$(call targetinfo)
	@$(call touch)

# ----------------------------------------------------------------------------
# Prepare
# ----------------------------------------------------------------------------

$(STATEDIR)/ltp-kernel.prepare:
	@$(call targetinfo)
	@$(call touch)

# ----------------------------------------------------------------------------
# Compile
# ----------------------------------------------------------------------------

ifdef PTXCONF_LTP_KERNEL_NUMA
LTP_KERNEL_BUILD_TARGETS += numa
endif
ifdef PTXCONF_LTP_KERNEL_CONTAINERS
LTP_KERNEL_BUILD_TARGETS += containers
endif
ifdef PTXCONF_LTP_KERNEL_CONTROLLERS
LTP_KERNEL_BUILD_TARGETS += controllers
endif
ifdef PTXCONF_LTP_KERNEL_INCLUDE
LTP_KERNEL_BUILD_TARGETS += include
endif
ifdef PTXCONF_LTP_KERNEL_FS
LTP_KERNEL_BUILD_TARGETS += fs
endif
ifdef PTXCONF_LTP_KERNEL_IO
LTP_KERNEL_BUILD_TARGETS += io
endif
ifdef PTXCONF_LTP_KERNEL_IPC
LTP_KERNEL_BUILD_TARGETS += ipc
endif
ifdef PTXCONF_LTP_KERNEL_MEM
LTP_KERNEL_BUILD_TARGETS += mem
endif
ifdef PTXCONF_LTP_KERNEL_PTY
LTP_KERNEL_BUILD_TARGETS += pty
endif
ifdef PTXCONF_LTP_KERNEL_SCHED
LTP_KERNEL_BUILD_TARGETS += sched
endif
ifdef PTXCONF_LTP_KERNEL_SECURITY
LTP_KERNEL_BUILD_TARGETS += security
endif
ifdef PTXCONF_LTP_KERNEL_SYSCALLS
LTP_KERNEL_BUILD_TARGETS += syscalls
endif
ifdef PTXCONF_LTP_KERNEL_TIMERS
LTP_KERNEL_BUILD_TARGETS += timers
endif

$(STATEDIR)/ltp-kernel.compile:
	@$(call targetinfo)
	@for target in $(LTP_KERNEL_BUILD_TARGETS); do \
		cd $(LTP_BASE_DIR)/testcases/kernel/$$target; \
		$(LTP_ENV) $(MAKE) $(PARALLELMFLAGS); \
	done
	@$(call touch)

# ----------------------------------------------------------------------------
# Install
# ----------------------------------------------------------------------------

$(STATEDIR)/ltp-kernel.install:
	@$(call targetinfo)
	mkdir -p $(LTP_KERNEL_PKGDIR)/bin
	ln -sf $(LTP_KERNEL_PKGDIR)/bin $(LTP_BASE_DIR)/testcases/bin
	for target in $(LTP_KERNEL_BUILD_TARGETS); do \
		cd $(LTP_BASE_DIR)/testcases/kernel/$$target; \
		$(LTP_ENV) $(MAKE) $(PARALLELMFLAGS) install; \
	done
	rm $(LTP_BASE_DIR)/testcases/bin
	@$(call touch)

# ----------------------------------------------------------------------------
# Target-Install
# ----------------------------------------------------------------------------

$(STATEDIR)/ltp-kernel.targetinstall:
	@$(call targetinfo)

	@$(call install_init, ltp-kernel)
	@$(call install_fixup, ltp-kernel,PRIORITY,optional)
	@$(call install_fixup, ltp-kernel,SECTION,base)
	@$(call install_fixup, ltp-kernel,AUTHOR,"Robert Schwebel <r.schwebel@pengutronix.de>")
	@$(call install_fixup, ltp-kernel,DESCRIPTION,missing)

	@cd $(LTP_KERNEL_PKGDIR)/bin; \
	for file in `find -type f`; do \
		PER=`stat -c "%a" $$file` \
		$(call install_copy, ltp-kernel, 0, 0, $$PER, \
			$(LTP_KERNEL_PKGDIR)/bin/$$file, \
			$(LTP_BASE_BIN_DIR)/$$file); \
	done


	@$(call install_finish, ltp-kernel)

	@$(call touch)

# vim: syntax=make