173 lines
4.5 KiB
Makefile
173 lines
4.5 KiB
Makefile
|
# Makefile.in for Cygwin's testsuite.
|
|||
|
#
|
|||
|
# This file is part of Cygwin.
|
|||
|
#
|
|||
|
# This software is a copyrighted work licensed under the terms of the
|
|||
|
# Cygwin license. Please consult the file "CYGWIN_LICENSE" for
|
|||
|
# details.
|
|||
|
|
|||
|
# This makefile requires GNU make.
|
|||
|
|
|||
|
SHELL:=@SHELL@
|
|||
|
srcdir:=@srcdir@
|
|||
|
objdir:=.
|
|||
|
libltp_srcdir=$(srcdir)/libltp
|
|||
|
target_builddir:=@target_builddir@
|
|||
|
|
|||
|
target_alias:=@target_alias@
|
|||
|
build_alias:=@build_alias@
|
|||
|
host_alias:=@host_alias@
|
|||
|
|
|||
|
DESTDIR=
|
|||
|
prefix:=${DESTDIR}@prefix@
|
|||
|
|
|||
|
program_transform_name:=@program_transform_name@
|
|||
|
exec_prefix:=${DESTDIR}@exec_prefix@
|
|||
|
bindir:=${DESTDIR}@bindir@
|
|||
|
libdir:=${DESTDIR}@libdir@
|
|||
|
ifeq ($(target_alias),$(host_alias))
|
|||
|
ifeq ($(build_alias),$(host_alias))
|
|||
|
tooldir:=$(exec_prefix)
|
|||
|
else
|
|||
|
tooldir:=$(exec_prefix)/$(target_alias)
|
|||
|
endif
|
|||
|
else
|
|||
|
tooldir:=$(exec_prefix)/$(target_alias)
|
|||
|
endif
|
|||
|
datarootdir:=@datarootdir@
|
|||
|
datadir:=${DESTDIR}@datadir@
|
|||
|
infodir:=${DESTDIR}@infodir@
|
|||
|
includedir:=${DESTDIR}@includedir@
|
|||
|
|
|||
|
TESTSUP_INCLUDES:=-I$(libltp_srcdir)/include
|
|||
|
|
|||
|
#
|
|||
|
# --enable options from configure
|
|||
|
#
|
|||
|
|
|||
|
CC:=@CC@
|
|||
|
ifneq (,$(CFLAGS))
|
|||
|
override CFLAGS+= -MD $(TESTSUP_INCLUDES)
|
|||
|
else
|
|||
|
CFLAGS:=@CFLAGS@ -MD $(TESTSUP_INCLUDES)
|
|||
|
endif
|
|||
|
|
|||
|
AR:=@AR@
|
|||
|
AR_FLAGS:=qv
|
|||
|
MINGW_CC:= @MINGW_CC@
|
|||
|
MINGW_CXX:= @MINGW_CXX@
|
|||
|
|
|||
|
#
|
|||
|
# Include common definitions for winsup directory
|
|||
|
#
|
|||
|
include $(srcdir)/../Makefile.common
|
|||
|
|
|||
|
VPATH+=$(libltp_srcdir)/lib
|
|||
|
|
|||
|
RUNTESTFLAGS =
|
|||
|
|
|||
|
ifdef VERBOSE
|
|||
|
RUNTESTFLAGS = -v
|
|||
|
endif
|
|||
|
|
|||
|
RUNTIME=$(cygwin_build)/cygwin0.dll $(cygwin_build)/libcygwin0.a
|
|||
|
|
|||
|
TESTSUP_LIB_NAME:=libltp.a
|
|||
|
TESTSUP_OFILES:=${sort ${addsuffix .o,${basename ${notdir ${wildcard $(libltp_srcdir)/lib/*.c}}}}}
|
|||
|
|
|||
|
override COMPILE_CC:=${filter-out -O%,$(COMPILE_CC)}
|
|||
|
override CFLAGS:=${filter-out -O%,$(CFLAGS)}
|
|||
|
|
|||
|
.PHONY: all install
|
|||
|
|
|||
|
.SUFFIXES:
|
|||
|
.SUFFIXES: .c .cc .def .a .o .d
|
|||
|
|
|||
|
all: $(TESTSUP_LIB_NAME)
|
|||
|
|
|||
|
install:
|
|||
|
|
|||
|
clean:
|
|||
|
-rm -f *.o *.dll *.a *.exp junk *.bak *.base *.exe *.d *.dat
|
|||
|
-rm -rf testsuite
|
|||
|
|
|||
|
maintainer-clean realclean: clean
|
|||
|
@echo "This command is intended for maintainers to use;"
|
|||
|
@echo "it deletes files that may require special tools to rebuild."
|
|||
|
-rm -fr configure
|
|||
|
|
|||
|
# Rule to build libltp.a
|
|||
|
|
|||
|
$(TESTSUP_LIB_NAME): $(TESTSUP_OFILES)
|
|||
|
$(AR) rcv temp.a $(TESTSUP_OFILES)
|
|||
|
mv temp.a $(TESTSUP_LIB_NAME)
|
|||
|
|
|||
|
$(RUNTIME) : $(cygwin_build)/Makefile
|
|||
|
@$(MAKE) --no-print-dir -C $(@D) $(@F)
|
|||
|
|
|||
|
#
|
|||
|
|
|||
|
# These targets are for the dejagnu testsuites. The file site.exp
|
|||
|
# contains global variables that all the testsuites will use.
|
|||
|
|
|||
|
# Set to $(target_alias)/ for cross.
|
|||
|
target_subdir = @target_subdir@
|
|||
|
|
|||
|
# a temporary directory, to be used for files created by tests
|
|||
|
tmpdir = $(abspath $(objdir)/testsuite/tmp/)
|
|||
|
# the same temporary directory, as an absolute, /cygdrive path (so it can be
|
|||
|
# understood by the test DLL, which will have a different mount table)
|
|||
|
testdll_tmpdir = $(shell cygpath -ma $(tmpdir) | sed -e 's#^\([A-Z]\):#/cygdrive/\L\1#')
|
|||
|
|
|||
|
site.exp: ../config.status Makefile
|
|||
|
@echo "Making a new config file..."
|
|||
|
-@rm -f ./tmp?
|
|||
|
@touch site.exp
|
|||
|
-@mv site.exp site.bak
|
|||
|
@echo "## these variables are automatically generated by make ##" > ./tmp0
|
|||
|
@echo "# Do not edit here. If you wish to override these values" >> ./tmp0
|
|||
|
@echo "# add them to the last section" >> ./tmp0
|
|||
|
@echo "set rootme \"`pwd`\"" >> ./tmp0
|
|||
|
@echo "set runtime_root \"\$$rootme/../cygwin\"" >> ./tmp0
|
|||
|
@echo "set srcdir \"`cd ${srcdir}; pwd`\"" >> ./tmp0
|
|||
|
@echo "set host_triplet $(host_canonical)" >> ./tmp0
|
|||
|
@echo "set build_triplet $(build_canonical)" >> ./tmp0
|
|||
|
@echo "set target_triplet $(target)" >> ./tmp0
|
|||
|
@echo "set target_alias $(target_alias)" >> ./tmp0
|
|||
|
@echo "set CC \"$(CC)\"" >> ./tmp0
|
|||
|
# CFLAGS is set even though it's empty to show we reserve the right to set it.
|
|||
|
@echo "set CFLAGS \"\"" >> ./tmp0
|
|||
|
@echo "set MINGW_CXX \"$(MINGW_CXX)\"" >> ./tmp0
|
|||
|
@echo "set tmpdir $(tmpdir)" >> ./tmp0
|
|||
|
@echo "set testdll_tmpdir $(testdll_tmpdir)" >> ./tmp0
|
|||
|
@echo "set ltp_includes \"$(realpath $(libltp_srcdir))/include\"" >> ./tmp0
|
|||
|
@echo "## All variables above are generated by configure. Do Not Edit ##" >> ./tmp0
|
|||
|
@cat ./tmp0 > site.exp
|
|||
|
@cat site.bak | sed \
|
|||
|
-e '1,/^## All variables above are.*##/ d' >> site.exp
|
|||
|
-@rm -f ./tmp?
|
|||
|
|
|||
|
testsuite/site.exp: site.exp
|
|||
|
if [ -d testsuite ]; then \
|
|||
|
true; \
|
|||
|
else \
|
|||
|
mkdir testsuite; \
|
|||
|
fi
|
|||
|
rm -rf testsuite/site.exp
|
|||
|
cp site.exp testsuite/site.exp
|
|||
|
|
|||
|
# Note: we set the PATH so that we can pick up cygwin0.dll
|
|||
|
|
|||
|
check: $(TESTSUP_LIB_NAME) $(RUNTIME) cygrun.exe testsuite/site.exp
|
|||
|
rootme=`pwd` ;\
|
|||
|
PATH=$$rootme/../cygwin:$${PATH} ;\
|
|||
|
cd testsuite; runtest --tool winsup $(RUNTESTFLAGS)
|
|||
|
|
|||
|
ifdef MINGW_CC
|
|||
|
cygrun.o: cygrun.c
|
|||
|
$(MINGW_CC) $(MINGW_CFLAGS) -o $@ -c $<
|
|||
|
|
|||
|
cygrun.exe : cygrun.o
|
|||
|
$(MINGW_CC) $(MINGW_LDFLAGS) -o $@ $<
|
|||
|
endif
|