Hi,

I have received a bug-report saying that 'make distclean' fails for GNU APL.

The error message is this:

make[2]: Entering directory `/home/eedjsa/projects/juergen/apl-1.5/src'
Makefile:837: .deps/apl-Archive.Po: No such file or directory
Makefile:838: .deps/apl-ArrayIterator.Po: No such file or directory
Makefile:839: .deps/apl-Assert.Po: No such file or directory
Makefile:840: .deps/apl-Avec.Po: No such file or directory
Makefile:841: .deps/apl-Backtrace.Po: No such file or directory
...
Makefile:916: .deps/apl-Workspace.Po: No such file or directory
Makefile:917: .deps/apl-configure_args.Po: No such file or directory
Makefile:918: .deps/apl-main.Po: No such file or directory
Makefile:919: .deps/libapl_la-Archive.Plo: No such file or directory
Makefile:920: .deps/libapl_la-ArrayIterator.Plo: No such file or directory
Makefile:921: .deps/libapl_la-Assert.Plo: No such file or directory
Makefile:922: .deps/libapl_la-Avec.Plo: No such file or directory
Makefile:923: .deps/libapl_la-Backtrace.Plo: No such file or directory
...
Makefile:998: .deps/libapl_la-Workspace.Plo: No such file or directory
Makefile:999: .deps/libapl_la-configure_args.Plo: No such file or directory
Makefile:1000: .deps/libapl_la-libapl.Plo: No such file or directory
make[2]: *** No rule to make target `.deps/libapl_la-libapl.Plo'. Stop.
make[2]: Leaving directory `/home/eedjsa/projects/juergen/apl-1.5/src'
make[1]: *** [distclean-recursive] Error 1
make[1]: Leaving directory `/home/eedjsa/projects/juergen/apl-1.5/src'
make: *** [distclean-recursive] Error 1

----------------------------------------------------------------------------------------------------

From what I can see:

(1) the libapl related files should not be deleted in the first place .
The Makefile.am (attached) uses:

if WANT_LIBAPL

which is an AM_CONDITIONAL() and the project was NOT ./configure'd to build libapl

(2) why would 'make distclean' try (and then fail) to build any targets in the first place?

Shouldn't it just delete files created by ./configure and be happy if they are gone?

------------------------------------------------------
automake version is 1.14.1
autoconf version is 2.69

The whole project is at http://svn.savannah.gnu.org/viewvc/trunk/?root=apl

Sometimes make distclean works, but I haven't figured when.

Thanks,
Jürgen Sauermann


EXTRA_DIRS =
if ! WANT_ANDROID
EXTRA_DIRS += APs emacs_mode sql workspaces
endif
SUBDIRS = native $(EXTRA_DIRS)
DIST_SUBDIRS = $(SUBDIRS) testcases

datadir = @datadir@
localedir = $(datadir)/locale

distcleancheck_listfile = buildtag

common_sources = \
                        buildtag                buildtag.hh             \
                                                ../config.h             \
                                                APL_types.hh            \
Archive.cc                                      Archive.hh              \
ArrayIterator.cc                                ArrayIterator.hh        \
Assert.cc                                       Assert.hh               \
Avec.cc                 Avec.def                Avec.hh                 \
Backtrace.cc                                    Backtrace.hh            \
Bif_F12_FORMAT.cc                               Bif_F12_FORMAT.hh       \
Bif_F12_SORT.cc                                 Bif_F12_SORT.hh         \
Bif_OPER1_COMMUTE.cc                            Bif_OPER1_COMMUTE.hh    \
Bif_OPER1_EACH.cc                               Bif_OPER1_EACH.hh       \
Bif_OPER2_POWER.cc                              Bif_OPER2_POWER.hh      \
Bif_OPER2_INNER.cc                              Bif_OPER2_INNER.hh      \
Bif_OPER2_OUTER.cc                              Bif_OPER2_OUTER.hh      \
Bif_OPER2_RANK.cc                               Bif_OPER2_RANK.hh       \
Bif_OPER1_REDUCE.cc                             Bif_OPER1_REDUCE.hh     \
Bif_OPER1_SCAN.cc                               Bif_OPER1_SCAN.hh       \
CDR.cc                                          CDR.hh                  \
Cell.cc                                         Cell.hh                 \
CharCell.cc                                     CharCell.hh             \
Command.cc              Command.def             Command.hh              \
Common.cc                                       Common.hh               \
ComplexCell.cc                                  ComplexCell.hh          \
configure_args.cc                                                       \
DiffOut.cc                                      DiffOut.hh              \
DynamicObject.cc                                DynamicObject.hh        \
EOC_arg.cc                                      EOC_arg.hh              \
Error.cc                Error.def               Error.hh                \
                                                ErrorCode.hh            \
Executable.cc                                   Executable.hh           \
FloatCell.cc                                    FloatCell.hh            \
Function.cc                                     Function.hh             \
DerivedFunction.cc                              DerivedFunction.hh      \
                                                Heapsort.hh             \
Id.cc                   Id.def                  Id.hh                   \
IndexExpr.cc                                    IndexExpr.hh            \
IndexIterator.cc                                IndexIterator.hh        \
InputFile.cc                                    InputFile.hh            \
IntCell.cc                                      IntCell.hh              \
LApack.cc                                       LApack.hh               \
LibPaths.cc                                     LibPaths.hh             \
LineInput.cc                                    LineInput.hh            \
Logging.cc          Logging.def                 Logging.hh              \
LvalCell.cc                                     LvalCell.hh             \
                                                makefile.h              \
Malloc_hooks.cc                                                         \
Nabla.cc                                        Nabla.hh                \
NamedObject.cc                                  NamedObject.hh          \
NativeFunction.cc                               NativeFunction.hh       \
                                                Native_interface.hh     \
NumericCell.cc                                  NumericCell.hh          \
Output.cc                                       Output.hh               \
Parser.cc                                       Parser.hh               \
Prefix.cc               Prefix.def              Prefix.hh               \
PointerCell.cc                                  PointerCell.hh          \
PrimitiveFunction.cc                            PrimitiveFunction.hh    \
PrimitiveOperator.cc                            PrimitiveOperator.hh    \
PrintBuffer.cc                                  PrintBuffer.hh          \
                                                PrintContext.hh         \
                                                PrintOperator.hh        \
QuadFunction.cc                                 QuadFunction.hh         \
ProcessorID.cc                                  ProcessorID.hh          \
Quad_CR.cc                                      Quad_CR.hh              \
Quad_FIO.cc                                     Quad_FIO.hh             \
Quad_FX.cc                                      Quad_FX.hh              \
Quad_RL.cc                                      Quad_RL.hh              \
Quad_SVx.cc                                     Quad_SVx.hh             \
Quad_TF.cc                                      Quad_TF.hh              \
Parallel.cc                                     Parallel.hh             \
Performance.cc          Performance.def         Performance.hh          \
RealCell.cc                                     RealCell.hh             \
Shape.cc                                        Shape.hh                \
                                                SharedValuePointer.hh   \
                                                Simple_string.hh        \
ScalarFunction.cc                               ScalarFunction.hh       \
                                                Source.hh               \
StateIndicator.cc                               StateIndicator.hh       \
Svar_DB.cc                                      Svar_DB.hh              \
Svar_record.cc                                  Svar_record.hh          \
tcp_signal.m4           Svar_signals.def        Svar_signals.hh         \
Symbol.cc                                       Symbol.hh               \
SymbolTable.cc                                  SymbolTable.hh          \
                        SystemLimits.def        SystemLimits.hh         \
SystemVariable.cc       SystemVariable.def      SystemVariable.hh       \
IO_Files.cc                                     IO_Files.hh             \
Token.cc                Token.def               Token.hh                \
                                                TokenEnums.hh           \
Tokenizer.cc                                    Tokenizer.hh            \
UCS_string.cc                                   UCS_string.hh           \
                                                Unicode.hh              \
UserFunction.cc                                 UserFunction.hh         \
UserPreferences.cc                              UserPreferences.hh      \
UTF8_string.cc                                  UTF8_string.hh          \
Value.cc                Value.icc               Value.hh                \
ValueHistory.cc                                 ValueHistory.hh         \
Workspace.cc                                    Workspace.hh




pkglib_LTLIBRARIES =
if WANT_LIBAPL
pkglib_LTLIBRARIES += libapl.la
pkginclude_HEADERS = libapl.h
libapl_la_SOURCES = $(common_sources) libapl.h libapl.cc
libapl_la_LDFLAGS = -avoid-version -module -shared -export-dynamic
libapl_la_CXXFLAGS = $(GPROF_WANTED) $(CXX_RDYNAMIC)
if DEVELOP
     libapl_la_CXXFLAGS += -Werror -Wall -Wno-strict-aliasing
endif
else

bin_PROGRAMS = apl
apl_SOURCES = main.cc $(common_sources)

endif


# normally we would say:
#
# Svar_signals.hh: Svar_signals.def tcp_signal.m4
#
# but what if m4 is missing? So we explicitly 'make update-svar_signals'
# when Svar_signals.def or tcp_signal.m4 have changed (which rarely happens)
#
.PHONY: update-svar_signals
update-svar_signals:
        m4 -D protocol=Svar_signals tcp_signal.m4 > Svar_signals.hh

apl_CXXFLAGS = $(GPROF_WANTED) $(CXX_RDYNAMIC)
if DEVELOP
   apl_CXXFLAGS       += -Werror -Wall -Wno-strict-aliasing
endif

apl_LDADD = $(LIBS)

apl.lines: apl
        objdump -j .text -l -d $< > $@

test: all
        ./apl --id 1010 -T testcases/*tc

test1: all
        ./apl --id 1010 --TM 3 -T testcases/*\.tc

test2: all
        ./apl --id 1010 --TR -T testcases/*tc

# run testcases related to APs
testAP: all
        ./apl --id 1010 -T testcases/AP*tc

perf: apl
        ./apl --id 1010 --TM 3 -T testcases/Performance.pt


AM_MAKEFLAGS = -j 4

makefile.h:
        @echo "// some strings exported from Makefile"           > $@
        @echo "//"                                              >> $@
        @echo "#define Makefile__bindir     \"${bindir}\""      >> $@
        @echo "#define Makefile__docdir     \"${docdir}\""      >> $@
        @echo "#define Makefile__sysconfdir \"${sysconfdir}\""  >> $@
        @echo "#define Makefile__pkglibdir  \"${pkglibdir}\""   >> $@
        @echo "#define Makefile__localedir  \"${localedir}\""   >> $@
        @echo "#define Makefile__srcdir     \"${abs_srcdir}\""  >> $@
        @echo                                                   >> $@

.PHONY: patch
patch:
        mkdir -p patches
        svn diff > patches/`date +patch_%F-%R.diff`

.PHONY: git-pull
git-pull:
        make -C emacs_mode $@
        make -C sql $@

.PHONY: help
help:
        @echo ""
        @echo ""
        @echo "in addition to standard targets (all, install, clean, ...) "
        @echo "the following make targets may be supported (at this level):"
        @echo ""
        @echo "    make help                    - print this text"
        @echo "    make git-pull                - pull sql and emacs subdirs"
        @echo "    make update-svar_signals     - remake Svar_signals.hh"
        @echo ""

Reply via email to