# # Makefile for Src subdirectory # # Copyright (c) 1995-1997 Richard Coleman # All rights reserved. # # Permission is hereby granted, without written agreement and without # license or royalty fees, to use, copy, modify, and distribute this # software and to distribute modified versions of this software for any # purpose, provided that the above copyright notice and the following # two paragraphs appear in all copies of this software. # # In no event shall Richard Coleman or the Zsh Development Group be liable # to any party for direct, indirect, special, incidental, or consequential # damages arising out of the use of this software and its documentation, # even if Richard Coleman and the Zsh Development Group have been advised of # the possibility of such damage. # # Richard Coleman and the Zsh Development Group specifically disclaim any # warranties, including, but not limited to, the implied warranties of # merchantability and fitness for a particular purpose. The software # provided hereunder is on an "as is" basis, and Richard Coleman and the # Zsh Development Group have no obligation to provide maintenance, # support, updates, enhancements, or modifications. # subdir = Src dir_top = .. SUBDIRS = @VERSION_MK@ # source/build directories VPATH = @srcdir@ sdir = @srcdir@ sdir_top = @top_srcdir@ INSTALL = @INSTALL@ LN = @LN@ @DEFS_MK@ sdir_src = $(sdir) dir_src = . # ========= DEPENDENCIES FOR BUILDING ========== LINK = $(CC) $(LDFLAGS) $(EXELDFLAGS) $(EXTRA_LDFLAGS) -o $@ DLLINK = $(DLLD) $(LDFLAGS) $(LIBLDFLAGS) $(DLLDFLAGS) -o $@ all: zsh.export modules .PHONY: all modules: headers .PHONY: modules L = @L@ LSTMP = LLIST = NSTMP = stamp-modobjs NLIST = `cat stamp-modobjs` LIBZSH = libzsh-$(VERSION).$(DL_EXT) NIBZSH = INSTLIB = @INSTLIB@ UNINSTLIB = @UNINSTLIB@ ZSH_EXPORT = $(EXPOPT)zsh.export ZSH_NXPORT = ENTRYOBJ = modentry..o NNTRYOBJ = LDRUNPATH = LD_RUN_PATH=$(libdir)/$(tzsh) NDRUNPATH = EXTRAZSHOBJS = @EXTRAZSHOBJS@ stamp-modobjs: modobjs @if cmp -s stamp-modobjs.tmp stamp-modobjs; then \ rm -f stamp-modobjs.tmp; \ echo "\`stamp-modobjs' is up to date."; \ else \ mv -f stamp-modobjs.tmp stamp-modobjs; \ echo "Updated \`stamp-modobjs'."; \ fi modobjs: headers rm-modobjs-tmp .PHONY: modobjs rm-modobjs-tmp: rm -f stamp-modobjs.tmp .PHONY: rm-modobjs-tmp @CONFIG_MK@ Makemod: $(CONFIG_INCS) $(dir_top)/config.modules @case $(sdir_top) in \ /*) top_srcdir=$(sdir_top) ;; \ *) top_srcdir=$(subdir)/$(sdir_top) ;; \ esac; \ export top_srcdir; \ echo 'cd $(dir_top) && $(SHELL)' \ '$$top_srcdir/$(subdir)/mkmakemod.sh $(subdir) Makemod'; \ cd $(dir_top) && \ $(SHELL) $$top_srcdir/$(subdir)/mkmakemod.sh $(subdir) Makemod prep: Makemod @$(MAKE) -f Makemod $(MAKEDEFS) prep || rm -f Makemod .PHONY: prep FORCE: .PHONY: FORCE # ========== LINKING IN MODULES ========== mymods.conf: @echo Linking with the standard modules. modules: $(@E@NTRYOBJ) $(ENTRYOBJ): FORCE @$(MAKE) -f Makemod $(MAKEDEFS) $@ # ========== DEPENDENCIES FOR CLEANUP ========== # Since module cleanup rules depend on Makemod, they come first. This # forces module stuff to get cleaned before Makemod itself gets # deleted. mostlyclean-here: rm -f stamp-modobjs stamp-modobjs.tmp .PHONY: mostlyclean-here clean-here: rm -f modules.stamp zsh$(EXEEXT) rm -f libzsh-*.$(DL_EXT) .PHONY: clean-here distclean-here: rm -f TAGS tags rm -f Makefile .PHONY: distclean-here mostlyclean: mostlyclean-modules clean: clean-modules distclean: distclean-modules realclean: realclean-modules .PHONY: mostlyclean clean distclean realclean # Don't remake Makemod just to delete things, even if it doesn't exist. mostlyclean-modules clean-modules distclean-modules realclean-modules: if test -f Makemod; then \ $(MAKE) -f Makemod $(MAKEDEFS) `echo $@ | sed 's/-modules//'`; \ fi; \ exit 0 .PHONY: mostlyclean-modules clean-modules distclean-modules \ realclean-modules @CLEAN_MK@ # ========== RECURSIVE MAKES ========== modobjs modules headers proto zsh.export: Makemod @$(MAKE) -f Makemod $(MAKEDEFS) $@ .PHONY: headers proto