blob: 4cf124bfe657335ba6bc515cfc1ec9e5e23c4baf [file] [log] [blame]
# See toplevel INSTALL for build info
ifdef CROSS_COMPILE
CROSS_COMPILER = $(CROSS_COMPILE)
endif
ifdef CROSS_COMPILER
CC=$(CROSS_COMPILER)gcc
AR=$(CROSS_COMPILER)ar
RANLIB=$(CROSS_COMPILER)ranlib
endif
HAS_NUMA=$(shell sh tools/scripts/numa_test.sh)
export CFLAGS += -Wall $(CROSS_CFLAGS)
export CC AR RANLIB CPPFLAGS LDFLAGS HAS_NUMA
-include config.mk
VPATH += include m4
all: config.h config.mk libltp.a
@$(MAKE) -C pan $@
@$(MAKE) -C testcases $@
@$(MAKE) -C tools $@
@$(MAKE) -C utils $@
@echo
@echo "***********************************************"
@echo "** You now need to do a make install as root **"
@echo "***********************************************"
install: all
@$(MAKE) -C testcases install
@$(MAKE) -C tools install
@$(MAKE) -C lib install
@$(MAKE) -C include install
@$(MAKE) -C pan install
@$(MAKE) -C m4 install
@$(MAKE) -C doc/man1 install
@$(MAKE) -C doc/man3 install
@./IDcheck.sh
libltp.a: config.h
@$(MAKE) -C lib $@
uclinux: uclinux_libltp.a
#@$(MAKE) -C pan all
@$(MAKE) -C testcases uclinux
@$(MAKE) -C tools all
@echo
@echo "*******************************************************"
@echo "** You now need to do a make uclinux_install as root **"
@echo "*******************************************************"
uclinux_install: uclinux
@$(MAKE) -C testcases uclinux_install
@$(MAKE) -C tools install
@./IDcheck.sh
uclinux_libltp.a:
@$(MAKE) -C lib UCLINUX=1 libltp.a
menuconfig:
@./ltpmenu
clean: ac-clean
@$(MAKE) -C lib $@
@$(MAKE) -C pan $@
@$(MAKE) -C tools $@
@$(MAKE) -C testcases $@
@$(MAKE) -C utils $@
distclean: clean ac-distclean
@$(MAKE) -C include $@
maintainer-clean: distclean ac-maintainer-clean
@$(MAKE) -C include $@
package:
rpmbuild -ba ltp-devel.spec
#
# Autotools related
#
.PHONY: autotools
autotools: aclocal autoconf autoheader automake
.PHONY: aclocal
aclocal: aclocal.m4
aclocal.m4: $(wildcard m4/*.m4)
aclocal -I m4
.PHONY: autoconf
autoconf: configure
configure: configure.ac aclocal.m4
autoconf
.PHONY: autoheader
autoheader: config.h.in
config.h.in: configure.ac $(wildcard m4/*.m4)
autoheader
touch include/$@
config.h: config.h.default
cp include/config.h.default include/config.h
config.mk:
touch $@
.PHONY: automake
AUTOMAKE_FILES = config.guess config.sub install-sh missing
automake: aclocal $(AUTOMAKE_FILES)
$(AUTOMAKE_FILES): m4/Makefile.in
m4/Makefile.in: m4/Makefile.am
automake -c -a
.PHONY: ac-clean ac-distclean ac-maintainer-clean
ac-clean:
rm -rf autom4te.cache
rm -f config.log config.status
ac-distclean: ac-clean
ac-maintainer-clean: ac-distclean
rm -f aclocal.m4 configure $(AUTOMAKE_FILES) m4/Makefile.in
#
# Help
#
.PHONY: help
help:
@echo
@echo 'About configuration'
@echo '-------------------'
@echo 'If you want to use auto configuration, '
@echo 'be sure autoconf and automake are installed. Then run: '
@echo ' $$ make autotools '
@echo ' $$ ./configure '
@echo ' $$ make all '
@echo
@echo 'If you want to use default configuration, '
@echo 'autoconf is not needed. Just run: '
@echo ' $$ touch include/config.h.default '
@echo ' $$ make config.h '
@echo ' $$ make all '
@echo
@echo 'If make all is failed even if you use the '
@echo 'auto configuration, please, report it to '
@echo 'ltp developers with config.log, generated '
@echo 'by running the configure script. '
@echo