| # 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 |
| |
| VPATH:=$(srcdir):$(libltp_srcdir)/lib |
| |
| 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 |
| datadir:=${DESTDIR}@datadir@ |
| infodir:=${DESTDIR}@infodir@ |
| includedir:=${DESTDIR}@includedir@ |
| |
| TESTSUP_INCLUDES:=-I$(libltp_srcdir)/include |
| |
| # |
| # --enable options from configure |
| # |
| |
| CC:=@CC@ |
| # FIXME: Which is it, CC or CC_FOR_TARGET? |
| CC_FOR_TARGET:=$(CC) |
| ifneq (,$(CFLAGS)) |
| override CFLAGS+= -MD $(TESTSUP_INCLUDES) |
| else |
| CFLAGS:=@CFLAGS@ -MD $(TESTSUP_INCLUDES) |
| endif |
| |
| AR:=@AR@ |
| AR_FLAGS:=qv |
| MINGW_FE:=$(dir ${srcdir})/utils/mingw |
| |
| # |
| # Include common definitions for winsup directory |
| # |
| include $(srcdir)/../Makefile.common |
| |
| override CC:=$(CC) $(GCC_INCLUDE) |
| export CC |
| |
| 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 ALL_CFLAGS:=${filter-out -O%,$(ALL_CFLAGS)} |
| override COMPILE_CC:=${filter-out -O%,$(COMPILE_CC)} |
| override CFLAGS:=${filter-out -O%,$(CFLAGS)} |
| export CFLAGS |
| |
| .PHONY: all force dll_ofiles install all_target install_target install_host |
| |
| .SUFFIXES: |
| .SUFFIXES: .c .cc .def .a .o .d |
| |
| all: $(TESTSUP_LIB_NAME) |
| |
| force: |
| |
| install: |
| |
| install_host: |
| |
| clean: |
| -rm -f *.o *.dll *.a *.exp junk *.bak *.base *.exe testsuite/* *.d *.dat |
| |
| 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) |
| |
| # Rule to make stub library used by "make check" |
| |
| # |
| |
| # 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@ |
| |
| 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 \"$(ALL_CFLAGS)\"" >> ./tmp0 |
| echo "set tmpdir $(objdir)/testsuite" >> ./tmp0 |
| @echo "set ltp_includes \"$(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 |
| cd testsuite; runtest --tool winsup $(RUNTESTFLAGS) |
| |
| cygrun.o: cygrun.c |
| ${MINGW_FE} $(CC) $(MINGW_CFLAGS) -o $@ -c $< |
| |
| cygrun.exe : cygrun.o |
| ${MINGW_FE} $(CC) ${MINGW_LDFLAGS} -o $@ $< |