blob: e86872e3020bbf1d3e7e6a1c621ee99515e96fff [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
subrata_modak3420e852009-08-23 06:56:03 +000048 @$(MAKE) -C utils install
yaberauneya3ab801e2009-07-10 23:01:27 +000049ifneq ($(strip $(SKIP_IDCHECK)),1)
robbiew877d1882003-04-23 19:50:15 +000050 @./IDcheck.sh
yaberauneya3ab801e2009-07-10 23:01:27 +000051endif
alaffincc2e5552000-07-27 17:13:18 +000052
vapierfe018f02008-11-12 19:30:36 +000053libltp.a: config.h
alaffincc2e5552000-07-27 17:13:18 +000054 @$(MAKE) -C lib $@
55
robbiewd34d5812005-07-11 22:28:09 +000056uclinux: uclinux_libltp.a
57 #@$(MAKE) -C pan all
58 @$(MAKE) -C testcases uclinux
59 @$(MAKE) -C tools all
60 @echo
61 @echo "*******************************************************"
62 @echo "** You now need to do a make uclinux_install as root **"
63 @echo "*******************************************************"
64
65uclinux_install: uclinux
66 @$(MAKE) -C testcases uclinux_install
67 @$(MAKE) -C tools install
yaberauneya3ab801e2009-07-10 23:01:27 +000068ifneq ($(strip $(SKIP_IDCHECK)),1)
robbiewd34d5812005-07-11 22:28:09 +000069 @./IDcheck.sh
yaberauneya3ab801e2009-07-10 23:01:27 +000070endif
robbiewd34d5812005-07-11 22:28:09 +000071
72uclinux_libltp.a:
73 @$(MAKE) -C lib UCLINUX=1 libltp.a
74
robbiew0d777172003-04-25 16:00:26 +000075menuconfig:
76 @./ltpmenu
77
vapierfe018f02008-11-12 19:30:36 +000078clean: ac-clean
alaffincc2e5552000-07-27 17:13:18 +000079 @$(MAKE) -C lib $@
nstrazf307d5f2000-09-14 21:54:44 +000080 @$(MAKE) -C pan $@
nstraz00f6d192001-01-22 18:05:27 +000081 @$(MAKE) -C tools $@
plars41c51212001-08-28 15:45:34 +000082 @$(MAKE) -C testcases $@
subrata_modakfcab26f2009-03-25 06:17:48 +000083 @$(MAKE) -C utils $@
subrata_modak5c9f1e02008-04-02 09:24:54 +000084
vapierfe018f02008-11-12 19:30:36 +000085distclean: clean ac-distclean
subrata_modak3d8666c2008-11-11 08:31:27 +000086 @$(MAKE) -C include $@
87
vapierfe018f02008-11-12 19:30:36 +000088maintainer-clean: distclean ac-maintainer-clean
subrata_modak3d8666c2008-11-11 08:31:27 +000089 @$(MAKE) -C include $@
90
subrata_modak5c9f1e02008-04-02 09:24:54 +000091package:
92 rpmbuild -ba ltp-devel.spec
93
94
subrata_modak3d8666c2008-11-11 08:31:27 +000095#
vapierfe018f02008-11-12 19:30:36 +000096# Autotools related
subrata_modak3d8666c2008-11-11 08:31:27 +000097#
vapierdf8759f2009-01-18 22:22:40 +000098.PHONY: autotools
99autotools: aclocal autoconf autoheader automake
100
101.PHONY: aclocal
102aclocal: aclocal.m4
103aclocal.m4: $(wildcard m4/*.m4)
104 aclocal -I m4
105
subrata_modakbe2f1a52008-11-25 14:34:04 +0000106.PHONY: autoconf
vapierdf8759f2009-01-18 22:22:40 +0000107autoconf: configure
108configure: configure.ac aclocal.m4
vapierfe018f02008-11-12 19:30:36 +0000109 autoconf
subrata_modak3d8666c2008-11-11 08:31:27 +0000110
vapierdf8759f2009-01-18 22:22:40 +0000111.PHONY: autoheader
112autoheader: config.h.in
113config.h.in: configure.ac $(wildcard m4/*.m4)
subrata_modak3d8666c2008-11-11 08:31:27 +0000114 autoheader
vapierdf8759f2009-01-18 22:22:40 +0000115 touch include/$@
vapierfe018f02008-11-12 19:30:36 +0000116config.h: config.h.default
117 cp include/config.h.default include/config.h
vapierff5a9a82009-01-20 14:41:39 +0000118config.mk:
119 touch $@
subrata_modak3d8666c2008-11-11 08:31:27 +0000120
vapierdf8759f2009-01-18 22:22:40 +0000121.PHONY: automake
122AUTOMAKE_FILES = config.guess config.sub install-sh missing
123automake: aclocal $(AUTOMAKE_FILES)
124$(AUTOMAKE_FILES): m4/Makefile.in
125m4/Makefile.in: m4/Makefile.am
126 automake -c -a
127
128.PHONY: ac-clean ac-distclean ac-maintainer-clean
vapierfe018f02008-11-12 19:30:36 +0000129ac-clean:
subrata_modak3d8666c2008-11-11 08:31:27 +0000130 rm -rf autom4te.cache
vapierfe018f02008-11-12 19:30:36 +0000131 rm -f config.log config.status
132ac-distclean: ac-clean
133ac-maintainer-clean: ac-distclean
vapierdf8759f2009-01-18 22:22:40 +0000134 rm -f aclocal.m4 configure $(AUTOMAKE_FILES) m4/Makefile.in
subrata_modakaba85b92008-12-11 10:30:33 +0000135
136#
137# Help
138#
139.PHONY: help
140help:
141 @echo
142 @echo 'About configuration'
143 @echo '-------------------'
144 @echo 'If you want to use auto configuration, '
subrata_modak3960cc82009-01-20 10:47:29 +0000145 @echo 'be sure autoconf and automake are installed. Then run: '
146 @echo ' $$ make autotools '
subrata_modakaba85b92008-12-11 10:30:33 +0000147 @echo ' $$ ./configure '
148 @echo ' $$ make all '
149 @echo
150 @echo 'If you want to use default configuration, '
151 @echo 'autoconf is not needed. Just run: '
152 @echo ' $$ touch include/config.h.default '
153 @echo ' $$ make config.h '
154 @echo ' $$ make all '
155 @echo
156 @echo 'If make all is failed even if you use the '
157 @echo 'auto configuration, please, report it to '
158 @echo 'ltp developers with config.log, generated '
159 @echo 'by running the configure script. '
160 @echo