mirror of
				git://git.code.sf.net/p/zsh/code
				synced 2025-10-27 04:40:59 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			150 lines
		
	
	
	
		
			5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			150 lines
		
	
	
	
		
			5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| name=zsh/main
 | |
| link=static
 | |
| load=yes
 | |
| # load=static should replace use of alwayslink
 | |
| functions='Functions/Chpwd/* Functions/Exceptions/* Functions/Math/* Functions/Misc/* Functions/MIME/* Functions/Prompts/* Functions/VCS_Info/* Functions/VCS_Info/Backends/*'
 | |
| 
 | |
| nozshdep=1
 | |
| alwayslink=1
 | |
| 
 | |
| # autofeatures not specified because of alwayslink
 | |
| 
 | |
| objects="builtin.o compat.o cond.o context.o \
 | |
| exec.o glob.o hashtable.o hashnameddir.o \
 | |
| hist.o init.o input.o jobs.o lex.o linklist.o loop.o math.o \
 | |
| mem.o module.o options.o params.o parse.o pattern.o prompt.o signals.o \
 | |
| signames.o sort.o string.o subst.o text.o utils.o \
 | |
| openssh_bsd_setres_id.o"
 | |
| 
 | |
| headers="../config.h zsh_system.h zsh.h sigcount.h signals.h \
 | |
| prototypes.h hashtable.h ztype.h"
 | |
| hdrdeps="zshcurses.h zshterm.h"
 | |
| 
 | |
| :<<\Make
 | |
| @CONFIG_MK@
 | |
| 
 | |
| # If we're using gcc as the preprocessor, get rid of the additional
 | |
| # lines generated by the preprocessor as they can confuse the script.
 | |
| # We don't need these in other cases either, but can't necessarily rely
 | |
| # on the option to remove them being the same.
 | |
| signames.c: signames1.awk signames2.awk ../config.h @SIGNAL_H@
 | |
| 	$(AWK) -f $(sdir)/signames1.awk @SIGNAL_H@ >sigtmp.c
 | |
| 	case "`$(CPP) --version </dev/null 2>&1`" in \
 | |
| 	*"Free Software Foundation"*) \
 | |
| 	$(CPP) -P sigtmp.c >sigtmp.out;; \
 | |
| 	*) \
 | |
| 	$(CPP) sigtmp.c >sigtmp.out;; \
 | |
| 	esac
 | |
| 	$(AWK) -f $(sdir)/signames2.awk sigtmp.out > $@
 | |
| 	rm -f sigtmp.c sigtmp.out
 | |
| 
 | |
| sigcount.h: signames.c
 | |
| 	grep 'define.*SIGCOUNT' signames.c > $@
 | |
| 
 | |
| init.o: bltinmods.list zshpaths.h zshxmods.h
 | |
| 
 | |
| init.o params.o parse.o: version.h
 | |
| 
 | |
| params.o: patchlevel.h
 | |
| 
 | |
| version.h: $(sdir_top)/Config/version.mk zshcurses.h zshterm.h
 | |
| 	echo '#define ZSH_VERSION "'$(VERSION)'"' > $@
 | |
| 
 | |
| patchlevel.h: FORCE
 | |
| 	@if [ -f $(sdir)/$@.release ]; then \
 | |
| 	  cp -f $(sdir)/$@.release $@; \
 | |
| 	else \
 | |
| 	  echo '#define ZSH_PATCHLEVEL "'`cd $(sdir) && git describe --tags --long --abbrev=7`'"' > $@.tmp; \
 | |
| 	  cmp $@ $@.tmp >/dev/null 2>&1 && rm -f $@.tmp || mv -f $@.tmp $@; \
 | |
| 	fi
 | |
| FORCE:
 | |
| 
 | |
| zshcurses.h: ../config.h
 | |
| 	@if test x$(ZSH_CURSES_H) != x; then \
 | |
| 	  echo "#include <$(ZSH_CURSES_H)>" >zshcurses.h; \
 | |
| 	else \
 | |
| 	  echo >zshcurses.h; \
 | |
| 	fi
 | |
| 
 | |
| zshterm.h: ../config.h
 | |
| 	@if test x$(ZSH_TERM_H) != x; then \
 | |
| 	  echo "#include <$(ZSH_TERM_H)>" >zshterm.h; \
 | |
| 	else \
 | |
| 	  echo >zshterm.h; \
 | |
| 	fi
 | |
| 
 | |
| zshpaths.h: Makemod $(CONFIG_INCS)
 | |
| 	@echo '#define MODULE_DIR "'$(MODDIR)'"' > zshpaths.h.tmp
 | |
| 	@if test x$(sitescriptdir) != xno; then \
 | |
| 	  echo '#define SITESCRIPT_DIR "'$(sitescriptdir)'"' >> zshpaths.h.tmp; \
 | |
| 	fi
 | |
| 	@if test x$(scriptdir) != xno; then \
 | |
| 	  echo '#define SCRIPT_DIR "'$(scriptdir)'"' >> zshpaths.h.tmp; \
 | |
| 	fi
 | |
| 	@if test x$(sitefndir) != xno; then \
 | |
| 	  echo '#define SITEFPATH_DIR "'$(sitefndir)'"' >> zshpaths.h.tmp; \
 | |
| 	fi
 | |
| 	@if test x$(fixed_sitefndir) != x; then \
 | |
| 	  echo '#define FIXED_FPATH_DIR "'$(fixed_sitefndir)'"' >> zshpaths.h.tmp; \
 | |
|         fi
 | |
| 	@if test x$(fndir) != xno; then \
 | |
| 	  echo '#define FPATH_DIR "'$(fndir)'"' >> zshpaths.h.tmp; \
 | |
| 	  if test x$(FUNCTIONS_SUBDIRS) != x && \
 | |
| 	     test x$(FUNCTIONS_SUBDIRS) != xno; then \
 | |
| 	    fpath_tmp="`grep ' functions=.' \
 | |
| 	    $(dir_top)/config.modules | sed -e '/^#/d' -e '/ link=no/d' \
 | |
| 	    -e 's/^.* functions=//'`"; \
 | |
| 	    fpath_tmp=`for f in $$fpath_tmp; do \
 | |
| 	      echo $$f | sed -e 's%^Functions/%%' -e 's%/[^/]*$$%%' -e 's%/\*%%'; \
 | |
| 	    done | grep -v Scripts | sort | uniq`; \
 | |
| 	    fpath_tmp=`echo $$fpath_tmp | sed 's/ /\", \"/g'`; \
 | |
| 	    echo "#define FPATH_SUBDIRS { \"$$fpath_tmp\" }" \
 | |
| 	    >>zshpaths.h.tmp; \
 | |
| 	  fi; \
 | |
| 	fi
 | |
| 	@if test x$(additionalfpath) != x; then \
 | |
| 	  fpath_tmp="`echo $(additionalfpath) | sed -e 's:,:\", \":g'`"; \
 | |
| 	  echo "#define ADDITIONAL_FPATH { \"$$fpath_tmp\" }" >> zshpaths.h.tmp; \
 | |
| 	fi
 | |
| 	@if cmp -s zshpaths.h zshpaths.h.tmp; then \
 | |
| 	    rm -f zshpaths.h.tmp; \
 | |
| 	    echo "\`zshpaths.h' is up to date." ; \
 | |
| 	else \
 | |
| 	    mv -f zshpaths.h.tmp zshpaths.h; \
 | |
| 	    echo "Updated \`zshpaths.h'." ; \
 | |
| 	fi
 | |
| 
 | |
| bltinmods.list: modules.stamp mkbltnmlst.sh $(dir_top)/config.modules
 | |
| 	srcdir='$(sdir)' CFMOD='$(dir_top)/config.modules' \
 | |
| 	  $(SHELL) $(sdir)/mkbltnmlst.sh $@
 | |
| 
 | |
| zshxmods.h: $(dir_top)/config.modules
 | |
| 	@echo "Creating \`$@'."
 | |
| 	@( \
 | |
| 	    for q_mod in `grep ' load=yes' $(dir_top)/config.modules | \
 | |
| 	      grep ' link=static' | sed -e '/^#/d' -e 's/ .*//' \
 | |
| 	        -e 's/^name=//' -e 's,Q,Qq,g;s,_,Qu,g;s,/,Qs,g'`; do \
 | |
| 		test x$q_mod = xzshQsmain && continue; \
 | |
| 	        echo "#define LINKED_XMOD_$$q_mod 1"; \
 | |
| 	    done; \
 | |
| 	    for q_mod in `grep ' load=yes' $(dir_top)/config.modules | \
 | |
| 	      grep ' link=dynamic' | sed -e '/^#/d' -e 's/ .*//' \
 | |
| 	        -e 's/^name=//' -e 's,Q,Qq,g;s,_,Qu,g;s,/,Qs,g'`; do \
 | |
| 		test x$q_mod = x && continue; \
 | |
| 	        echo "#ifdef DYNAMIC"; \
 | |
| 		echo "# define UNLINKED_XMOD_$$q_mod 1"; \
 | |
| 		echo "#endif"; \
 | |
| 	    done; \
 | |
| 	) > $@
 | |
| 
 | |
| clean-here: clean.zsh
 | |
| clean.zsh:
 | |
| 	rm -f sigcount.h signames.c bltinmods.list version.h zshpaths.h zshxmods.h
 | |
| 
 | |
| # This is not properly part of this module, but it is built as if it were.
 | |
| main.o: main.c zsh.mdh main.epro
 | |
| 	$(CC) -c -I. -I$(sdir_top)/Src $(CPPFLAGS) $(DEFS) $(CFLAGS) -o $@ $(sdir)/main.c
 | |
| 
 | |
| main.syms: $(PROTODEPS)
 | |
| proto.zsh: main.epro
 | |
| Make
 |