blob: 177104183c1c4961079ad0287470ece314503973 [file] [log] [blame]
vapier36ab22f2009-01-19 03:37:35 +00001# See toplevel INSTALL for build info
alaffincc2e5552000-07-27 17:13:18 +00002
vapier1400d642006-02-24 02:16:55 +00003ifdef CROSS_COMPILE
4CROSS_COMPILER = $(CROSS_COMPILE)
5endif
6ifdef CROSS_COMPILER
7CC=$(CROSS_COMPILER)gcc
8AR=$(CROSS_COMPILER)ar
vapier14900302008-04-11 03:38:21 +00009RANLIB=$(CROSS_COMPILER)ranlib
yaberauneya87e48532009-08-12 21:29:07 +000010else
11# RANLIB isn't a standard Make variable, which means that when it's exported
12# to leaf callers as an empty value, builds fail.
13# testcases/network/lib6/Makefile is a prime example.
14RANLIB?=ranlib
vapier1400d642006-02-24 02:16:55 +000015endif
vapierd4e145e2006-02-11 04:33:08 +000016
subrata_modak8dfa1b32008-07-26 04:15:36 +000017HAS_NUMA=$(shell sh tools/scripts/numa_test.sh)
18
vapier1400d642006-02-24 02:16:55 +000019export CFLAGS += -Wall $(CROSS_CFLAGS)
vapier361210d2008-09-24 04:38:34 +000020export CC AR RANLIB CPPFLAGS LDFLAGS HAS_NUMA
vapier1400d642006-02-24 02:16:55 +000021
yaberauneya3ab801e2009-07-10 23:01:27 +000022# SKIP_IDCHECK != 1, defaults to previous behavior, which is to execute
23# IDcheck.sh at the end of `make install'.
24SKIP_IDCHECK ?= 0
25
vapier1400d642006-02-24 02:16:55 +000026-include config.mk
alaffincc2e5552000-07-27 17:13:18 +000027
subrata_modak3d8666c2008-11-11 08:31:27 +000028VPATH += include m4
vapierff5a9a82009-01-20 14:41:39 +000029all: config.h config.mk libltp.a
nstrazf307d5f2000-09-14 21:54:44 +000030 @$(MAKE) -C pan $@
plars16dc53f2002-01-29 20:48:08 +000031 @$(MAKE) -C testcases $@
iyermanoj96526092002-12-12 16:08:47 +000032 @$(MAKE) -C tools $@
subrata_modakfcab26f2009-03-25 06:17:48 +000033 @$(MAKE) -C utils $@
plars16dc53f2002-01-29 20:48:08 +000034 @echo
35 @echo "***********************************************"
36 @echo "** You now need to do a make install as root **"
37 @echo "***********************************************"
38
39install: all
plars41c51212001-08-28 15:45:34 +000040 @$(MAKE) -C testcases install
iyermanoj640d83c2002-12-20 20:00:36 +000041 @$(MAKE) -C tools install
subrata_modak5c9f1e02008-04-02 09:24:54 +000042 @$(MAKE) -C lib install
43 @$(MAKE) -C include install
44 @$(MAKE) -C pan install
subrata_modak3d8666c2008-11-11 08:31:27 +000045 @$(MAKE) -C m4 install
subrata_modak5c9f1e02008-04-02 09:24:54 +000046 @$(MAKE) -C doc/man1 install
47 @$(MAKE) -C doc/man3 install
yaberauneya3ab801e2009-07-10 23:01:27 +000048ifneq ($(strip $(SKIP_IDCHECK)),1)
robbiew877d1882003-04-23 19:50:15 +000049 @./IDcheck.sh
yaberauneya3ab801e2009-07-10 23:01:27 +000050endif
alaffincc2e5552000-07-27 17:13:18 +000051
vapierfe018f02008-11-12 19:30:36 +000052libltp.a: config.h
alaffincc2e5552000-07-27 17:13:18 +000053 @$(MAKE) -C lib $@
54
robbiewd34d5812005-07-11 22:28:09 +000055uclinux: uclinux_libltp.a
56 #@$(MAKE) -C pan all
57 @$(MAKE) -C testcases uclinux
58 @$(MAKE) -C tools all
59 @echo
60 @echo "*******************************************************"
61 @echo "** You now need to do a make uclinux_install as root **"
62 @echo "*******************************************************"
63
64uclinux_install: uclinux
65 @$(MAKE) -C testcases uclinux_install
66 @$(MAKE) -C tools install
yaberauneya3ab801e2009-07-10 23:01:27 +000067ifneq ($(strip $(SKIP_IDCHECK)),1)
robbiewd34d5812005-07-11 22:28:09 +000068 @./IDcheck.sh
yaberauneya3ab801e2009-07-10 23:01:27 +000069endif
robbiewd34d5812005-07-11 22:28:09 +000070
71uclinux_libltp.a:
72 @$(MAKE) -C lib UCLINUX=1 libltp.a
73
robbiew0d777172003-04-25 16:00:26 +000074menuconfig:
75 @./ltpmenu
76
vapierfe018f02008-11-12 19:30:36 +000077clean: ac-clean
alaffincc2e5552000-07-27 17:13:18 +000078 @$(MAKE) -C lib $@
nstrazf307d5f2000-09-14 21:54:44 +000079 @$(MAKE) -C pan $@
nstraz00f6d192001-01-22 18:05:27 +000080 @$(MAKE) -C tools $@
plars41c51212001-08-28 15:45:34 +000081 @$(MAKE) -C testcases $@
subrata_modakfcab26f2009-03-25 06:17:48 +000082 @$(MAKE) -C utils $@
subrata_modak5c9f1e02008-04-02 09:24:54 +000083
vapierfe018f02008-11-12 19:30:36 +000084distclean: clean ac-distclean
subrata_modak3d8666c2008-11-11 08:31:27 +000085 @$(MAKE) -C include $@
86
vapierfe018f02008-11-12 19:30:36 +000087maintainer-clean: distclean ac-maintainer-clean
subrata_modak3d8666c2008-11-11 08:31:27 +000088 @$(MAKE) -C include $@
89
subrata_modak5c9f1e02008-04-02 09:24:54 +000090package:
91 rpmbuild -ba ltp-devel.spec
92
93
subrata_modak3d8666c2008-11-11 08:31:27 +000094#
vapierfe018f02008-11-12 19:30:36 +000095# Autotools related
subrata_modak3d8666c2008-11-11 08:31:27 +000096#
vapierdf8759f2009-01-18 22:22:40 +000097.PHONY: autotools
98autotools: aclocal autoconf autoheader automake
99
100.PHONY: aclocal
101aclocal: aclocal.m4
102aclocal.m4: $(wildcard m4/*.m4)
103 aclocal -I m4
104
subrata_modakbe2f1a52008-11-25 14:34:04 +0000105.PHONY: autoconf
vapierdf8759f2009-01-18 22:22:40 +0000106autoconf: configure
107configure: configure.ac aclocal.m4
vapierfe018f02008-11-12 19:30:36 +0000108 autoconf
subrata_modak3d8666c2008-11-11 08:31:27 +0000109
vapierdf8759f2009-01-18 22:22:40 +0000110.PHONY: autoheader
111autoheader: config.h.in
112config.h.in: configure.ac $(wildcard m4/*.m4)
subrata_modak3d8666c2008-11-11 08:31:27 +0000113 autoheader
vapierdf8759f2009-01-18 22:22:40 +0000114 touch include/$@
vapierfe018f02008-11-12 19:30:36 +0000115config.h: config.h.default
116 cp include/config.h.default include/config.h
vapierff5a9a82009-01-20 14:41:39 +0000117config.mk:
118 touch $@
subrata_modak3d8666c2008-11-11 08:31:27 +0000119
vapierdf8759f2009-01-18 22:22:40 +0000120.PHONY: automake
121AUTOMAKE_FILES = config.guess config.sub install-sh missing
122automake: aclocal $(AUTOMAKE_FILES)
123$(AUTOMAKE_FILES): m4/Makefile.in
124m4/Makefile.in: m4/Makefile.am
125 automake -c -a
126
127.PHONY: ac-clean ac-distclean ac-maintainer-clean
vapierfe018f02008-11-12 19:30:36 +0000128ac-clean:
subrata_modak3d8666c2008-11-11 08:31:27 +0000129 rm -rf autom4te.cache
vapierfe018f02008-11-12 19:30:36 +0000130 rm -f config.log config.status
131ac-distclean: ac-clean
132ac-maintainer-clean: ac-distclean
vapierdf8759f2009-01-18 22:22:40 +0000133 rm -f aclocal.m4 configure $(AUTOMAKE_FILES) m4/Makefile.in
subrata_modakaba85b92008-12-11 10:30:33 +0000134
135#
136# Help
137#
138.PHONY: help
139help:
140 @echo
141 @echo 'About configuration'
142 @echo '-------------------'
143 @echo 'If you want to use auto configuration, '
subrata_modak3960cc82009-01-20 10:47:29 +0000144 @echo 'be sure autoconf and automake are installed. Then run: '
145 @echo ' $$ make autotools '
subrata_modakaba85b92008-12-11 10:30:33 +0000146 @echo ' $$ ./configure '
147 @echo ' $$ make all '
148 @echo
149 @echo 'If you want to use default configuration, '
150 @echo 'autoconf is not needed. Just run: '
151 @echo ' $$ touch include/config.h.default '
152 @echo ' $$ make config.h '
153 @echo ' $$ make all '
154 @echo
155 @echo 'If make all is failed even if you use the '
156 @echo 'auto configuration, please, report it to '
157 @echo 'ltp developers with config.log, generated '
158 @echo 'by running the configure script. '
159 @echo