[tex-live] Build/source/Makefile oddity in all target
Joachim Schrod
jschrod at acm.org
Thu Jun 28 11:47:10 CEST 2007
Hi,
In Build/source/Makefile.in we have:
all: @LIBSDEP@
all clean mostlyclean:
esubdirs="$(LIBSDIRS) $(ESUBDIRS)"; \
for dir in $$esubdirs; do \
echo making $@ in $$dir; \
(if test -f $$dir/Makefile; then cd $$dir && $(MAKE) $@; else
true; fi) || exit 1; \
done
where the first line expands to
all: $(ZLIBDIR)/libz.a $(LIBPNGDIR)/libpng.a $(LIBT1DIR)/libt1.a
$(LIBT1DIR)/../type1/libtype1.a $(FREETYPE2DIR)/.libs/libfreetype.a
in the generated Makefile. I'd like to inquire about the intent of
that:
$(LIBDIRS) has all the library directories that are in @LIBSDEP@,
so these libraries will be made by the recursion in the all action
anyhow. Nothing else is done before. So why was the @LIBSDEP@
dependency added explicitly?
That said, I find the target in itself very convenient: Currently I
work only on drivers and not on anything web2c related. I.e., I
don't want to compile the whole web2c shebang just to change the
source of a dvi driver. When I change the first dependency line to
lib: @LIBSDEP@
(and maybe add lib as dependency to the rule below, even though
that's superfluous owing to the recursion into $(LIBSDIRS)), then
I'm able to call "make lib" in Build/source and thus get all
prerequisites done to be able to go into a specific subdirectory
(say, texk/dviljk/) and use make there without further problems.
Maybe such a change would meet general agreement by you?
Best, and TIA for any answer,
Joachim
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Joachim Schrod Email: jschrod at acm.org
Roedermark, Germany
More information about the tex-live
mailing list