blob: 7fab4e8b367dc81e15295fd0138e5b2bcfeb11e5 [file] [log] [blame]
robbiewc28353f2003-01-10 20:04:06 +00001# To cross compile, override one or more of CC, AR, CROSS_CFLAGS,
robbiew01e94ed2003-06-10 22:00:26 +00002# LOADLIBES, LDFLAGS, & LIB_DIR and be sure to always build from the top level.
robbiewc28353f2003-01-10 20:04:06 +00003#
4# To override them from the make commandline, do something like this:
5# $ CROSS_COMPILER=/opt/cegl-1.4/hardhat/devkit/ppc/405/bin/powerpc-linux-
6# $ make \
7# CROSS_CFLAGS="-mcpu=403 -D__PPC405__" \
robbiewc28353f2003-01-10 20:04:06 +00008# LDFLAGS=-static \
9# LOADLIBES="-lpthread -lc -lresolv -lnss_dns -lnss_files -lm -lc"
10#
11# Alternately, to override them by editing this file, uncomment the
12# following lines:
robbiew01e94ed2003-06-10 22:00:26 +000013# CROSS_COMPILER=/opt/ppc64/powerpc64-linux/bin/powerpc64-linux-
14# CROSS_CFLAGS= -mpowerpc64
robbiewc28353f2003-01-10 20:04:06 +000015# LDFLAGS=-static
16# LOADLIBES=-lpthread -lc -lresolv -lnss_dns -lnss_files -lm -lc
robbiew01e94ed2003-06-10 22:00:26 +000017# LIB_DIR=/lib64
vapier1400d642006-02-24 02:16:55 +000018# export LOADLIBES LIB_DIR
robbiewc28353f2003-01-10 20:04:06 +000019#
vapierd4e145e2006-02-11 04:33:08 +000020# Or, you can save all your settings into the local 'config.mk' file.
vapierc8b42f02007-12-22 06:34:35 +000021# The defaults will not be usable in that case; you will need to
22# override things explicitly.
vapierd4e145e2006-02-11 04:33:08 +000023#
vapier847ee1c2006-06-22 04:16:59 +000024# uClinux Users: make sure you add -DUCLINUX to your CFLAGS
25#
robbiewc28353f2003-01-10 20:04:06 +000026# Note: If you override a variable from the commandline all
27# assignments to it in the Makefiles will be ignored. To set it both
28# in the commandline and in the Makefiles use a dummy variable like in
29# CFLAGS
alaffincc2e5552000-07-27 17:13:18 +000030
vapier1400d642006-02-24 02:16:55 +000031ifdef CROSS_COMPILE
32CROSS_COMPILER = $(CROSS_COMPILE)
33endif
34ifdef CROSS_COMPILER
35CC=$(CROSS_COMPILER)gcc
36AR=$(CROSS_COMPILER)ar
vapier14900302008-04-11 03:38:21 +000037RANLIB=$(CROSS_COMPILER)ranlib
vapier1400d642006-02-24 02:16:55 +000038endif
vapierd4e145e2006-02-11 04:33:08 +000039
subrata_modak8dfa1b32008-07-26 04:15:36 +000040HAS_NUMA=$(shell sh tools/scripts/numa_test.sh)
41
vapier1400d642006-02-24 02:16:55 +000042export CFLAGS += -Wall $(CROSS_CFLAGS)
vapier361210d2008-09-24 04:38:34 +000043export CC AR RANLIB CPPFLAGS LDFLAGS HAS_NUMA
vapier1400d642006-02-24 02:16:55 +000044
45-include config.mk
alaffincc2e5552000-07-27 17:13:18 +000046
subrata_modak3d8666c2008-11-11 08:31:27 +000047VPATH += include m4
48all: config.h libltp.a
nstrazf307d5f2000-09-14 21:54:44 +000049 @$(MAKE) -C pan $@
plars16dc53f2002-01-29 20:48:08 +000050 @$(MAKE) -C testcases $@
iyermanoj96526092002-12-12 16:08:47 +000051 @$(MAKE) -C tools $@
plars16dc53f2002-01-29 20:48:08 +000052 @echo
53 @echo "***********************************************"
54 @echo "** You now need to do a make install as root **"
55 @echo "***********************************************"
56
57install: all
plars41c51212001-08-28 15:45:34 +000058 @$(MAKE) -C testcases install
iyermanoj640d83c2002-12-20 20:00:36 +000059 @$(MAKE) -C tools install
subrata_modak5c9f1e02008-04-02 09:24:54 +000060 @$(MAKE) -C lib install
61 @$(MAKE) -C include install
62 @$(MAKE) -C pan install
subrata_modak3d8666c2008-11-11 08:31:27 +000063 @$(MAKE) -C m4 install
subrata_modak5c9f1e02008-04-02 09:24:54 +000064 @$(MAKE) -C doc/man1 install
65 @$(MAKE) -C doc/man3 install
66
robbiew877d1882003-04-23 19:50:15 +000067 @./IDcheck.sh
alaffincc2e5552000-07-27 17:13:18 +000068
vapierfe018f02008-11-12 19:30:36 +000069libltp.a: config.h
alaffincc2e5552000-07-27 17:13:18 +000070 @$(MAKE) -C lib $@
71
robbiewd34d5812005-07-11 22:28:09 +000072uclinux: uclinux_libltp.a
73 #@$(MAKE) -C pan all
74 @$(MAKE) -C testcases uclinux
75 @$(MAKE) -C tools all
76 @echo
77 @echo "*******************************************************"
78 @echo "** You now need to do a make uclinux_install as root **"
79 @echo "*******************************************************"
80
81uclinux_install: uclinux
82 @$(MAKE) -C testcases uclinux_install
83 @$(MAKE) -C tools install
84 @./IDcheck.sh
85
86uclinux_libltp.a:
87 @$(MAKE) -C lib UCLINUX=1 libltp.a
88
robbiew0d777172003-04-25 16:00:26 +000089menuconfig:
90 @./ltpmenu
91
vapierfe018f02008-11-12 19:30:36 +000092clean: ac-clean
alaffincc2e5552000-07-27 17:13:18 +000093 @$(MAKE) -C lib $@
nstrazf307d5f2000-09-14 21:54:44 +000094 @$(MAKE) -C pan $@
nstraz00f6d192001-01-22 18:05:27 +000095 @$(MAKE) -C tools $@
plars41c51212001-08-28 15:45:34 +000096 @$(MAKE) -C testcases $@
subrata_modak5c9f1e02008-04-02 09:24:54 +000097
vapierfe018f02008-11-12 19:30:36 +000098distclean: clean ac-distclean
subrata_modak3d8666c2008-11-11 08:31:27 +000099 @$(MAKE) -C include $@
100
vapierfe018f02008-11-12 19:30:36 +0000101maintainer-clean: distclean ac-maintainer-clean
subrata_modak3d8666c2008-11-11 08:31:27 +0000102 @$(MAKE) -C include $@
103
subrata_modak5c9f1e02008-04-02 09:24:54 +0000104package:
105 rpmbuild -ba ltp-devel.spec
106
107
subrata_modak3d8666c2008-11-11 08:31:27 +0000108#
vapierfe018f02008-11-12 19:30:36 +0000109# Autotools related
subrata_modak3d8666c2008-11-11 08:31:27 +0000110#
subrata_modakbe2f1a52008-11-25 14:34:04 +0000111.PHONY: autoconf
112autoconf: configure config.h.in config.h
113configure: configure.ac $(notdir $(wildcard m4/*.m4))
vapierfe018f02008-11-12 19:30:36 +0000114 autoconf
subrata_modak3d8666c2008-11-11 08:31:27 +0000115
subrata_modakbe2f1a52008-11-25 14:34:04 +0000116config.h.in: configure.ac $(notdir $(wildcard m4/*.m4))
subrata_modak3d8666c2008-11-11 08:31:27 +0000117 autoheader
118
vapierfe018f02008-11-12 19:30:36 +0000119config.h: config.h.default
120 cp include/config.h.default include/config.h
subrata_modak3d8666c2008-11-11 08:31:27 +0000121
vapierfe018f02008-11-12 19:30:36 +0000122.PHONY: ac-clean ac-distclean ac-ac-maintainer-clean
123ac-clean:
subrata_modak3d8666c2008-11-11 08:31:27 +0000124 rm -rf autom4te.cache
vapierfe018f02008-11-12 19:30:36 +0000125 rm -f config.log config.status
126ac-distclean: ac-clean
127ac-maintainer-clean: ac-distclean
subrata_modak3d8666c2008-11-11 08:31:27 +0000128 rm -f configure
subrata_modakaba85b92008-12-11 10:30:33 +0000129
130#
131# Help
132#
133.PHONY: help
134help:
135 @echo
136 @echo 'About configuration'
137 @echo '-------------------'
138 @echo 'If you want to use auto configuration, '
139 @echo 'be sure autoconf is installed. Then run: '
140 @echo ' $$ make autoconf '
141 @echo ' $$ ./configure '
142 @echo ' $$ make all '
143 @echo
144 @echo 'If you want to use default configuration, '
145 @echo 'autoconf is not needed. Just run: '
146 @echo ' $$ touch include/config.h.default '
147 @echo ' $$ make config.h '
148 @echo ' $$ make all '
149 @echo
150 @echo 'If make all is failed even if you use the '
151 @echo 'auto configuration, please, report it to '
152 @echo 'ltp developers with config.log, generated '
153 @echo 'by running the configure script. '
154 @echo