|
|
1.1 ! root 1: # ! 2: # Makefile for the productized installation of Emacs on a NeXT. ! 3: # ! 4: # Lennart Lovstrand, Mon Dec 7 18:49:48 1992 ! 5: # ! 6: # Note: The emacs man page is no longer installed by the emacs ! 7: # project. If an updated man page is released by FSF, it should ! 8: # be given to the manpages project. ! 9: # ! 10: ! 11: SYMROOT=. ! 12: OBJROOT=. ! 13: ! 14: BINDIR= /usr/bin ! 15: LIBDIR= /usr/lib/emacs ! 16: # MANDIR= /usr/man/man1 ! 17: SRCDIR= /NextDeveloper/Source/GNU/emacs ! 18: ! 19: SFILE= s-mach2.h ! 20: MFILE= m-next.h ! 21: ! 22: MAKEORIG=Makefile.orig ! 23: ! 24: DSTBINDIR=$(DSTROOT)$(BINDIR) ! 25: DSTLIBDIR=$(DSTROOT)$(LIBDIR) ! 26: # DSTMANDIR=$(DSTROOT)$(MANDIR) ! 27: DSTSRCDIR=$(DSTROOT)/$(SRCDIR) ! 28: ! 29: DSTLCKDIR=$(DSTLIBDIR)/lock ! 30: ETCFILES=COPYING DISTRIB DOC-* MAILINGLISTS NEWS TUTORIAL *.lines ! 31: ! 32: # ! 33: # Standard Makefile targets ! 34: # ! 35: ! 36: all: sanitycheck linksrc $(SYMROOT)/src/paths.h $(SYMROOT)/src/config.h ! 37: @echo "# Building `basename \`pwd\``..." ! 38: cd $(SYMROOT); make -f $(MAKEORIG) all ! 39: ! 40: install: $(DSTBINDIR) $(DSTLIBDIR) $(DSTLCKDIR) $(DSTSRCDIR) all ! 41: cd $(SYMROOT); \ ! 42: install -c -m 755 -s -o root -g wheel src/xemacs $(DSTBINDIR)/emacs; \ ! 43: install -c -m 755 -s -o root -g wheel etc/etags $(DSTBINDIR)/etags ! 44: # install -c -m 644 -o root -g wheel etc/emacs.1 $(DSTMANDIR)/emacs.1 ! 45: for d in info lisp; do \ ! 46: tar cf - $$d | (cd $(DSTLIBDIR); tar xf -); \ ! 47: done ! 48: -rm -f $(DSTLIBDIR)/lisp/version.el ! 49: cp $(SYMROOT)/lisp/version.el $(DSTLIBDIR)/lisp/version.el ! 50: -mkdirs $(DSTLIBDIR)/etc ! 51: cd $(SYMROOT)/etc; install -c $(ETCFILES) $(DSTLIBDIR)/etc ! 52: find $(SYMROOT)/etc -type f -a ! -type l -print | \ ! 53: while read f; do \ ! 54: if file $$f | grep -s Mach-O; then \ ! 55: install -c -s $$f $(DSTLIBDIR)/etc; \ ! 56: fi; \ ! 57: done ! 58: -rm -f $(DSTLIBDIR)/etc/test-distrib ! 59: -chown -R root.wheel $(DSTLIBDIR) ! 60: -chmod -R go-w $(DSTLIBDIR)/etc $(DSTLIBDIR)/info $(DSTLIBDIR)/lisp ! 61: @if [ "$(SYMROOT)" != . ]; then \ ! 62: echo "# Removing .o files from $$(SYMROOT)..."; \ ! 63: find $(SYMROOT) -name \*.o -exec rm '{}' \;; \ ! 64: fi ! 65: @echo "# Copying the source to $(DSTSRCDIR)..."; \ ! 66: tar cf - . | (cd $(DSTSRCDIR); tar xfp -); \ ! 67: chown -R root.wheel $(DSTSRCDIR) ! 68: @echo "# Removing crud files..."; \ ! 69: rm -f $(DSTSRCDIR)/SGS_ENV; \ ! 70: make -f $(MAKEORIG) clean LIBDIR=$(DSTLIBDIR) ! 71: ! 72: installhdrs: ! 73: ! 74: installsrc: $(SRCROOT) ! 75: tar cf - . | (cd $(SRCROOT); tar xvfp -) ! 76: ! 77: clean: ! 78: cd $(SYMROOT); make -f $(MAKEORIG) clean LIBDIR=$(DSTLIBDIR) ! 79: ! 80: # ! 81: # Supporting Makefile targets ! 82: # ! 83: ! 84: sanitycheck: ! 85: @if [ -n "$(RC_ARCHS)" -a "$(RC_ARCHS)" != `arch` ]; then \ ! 86: echo -n "*** Sorry, Emacs can only be built natively;"; \ ! 87: echo " this version will be `arch` only"; \ ! 88: fi ! 89: @if [ ! -f $(MAKEORIG) ]; then \ ! 90: echo -n "*** Oops: The original Makefile must be present as"; \ ! 91: echo " $(MAKEORIG)"; \ ! 92: false; \ ! 93: fi ! 94: @for f in src/config.h-dist src/paths.h-dist; do \ ! 95: if [ ! -f $$f -a ! -f `basename $f -dist` ]; then \ ! 96: echo "*** Oops: Required file $$f is missing"; \ ! 97: false; \ ! 98: fi; \ ! 99: done ! 100: ! 101: linksrc: $(SYMROOT) ! 102: @if [ $(SYMROOT) = . ]; then \ ! 103: if grep "^CPP" src/Makefile | grep -s traditional; then \ ! 104: true; \ ! 105: else \ ! 106: echo "*** Can't build in-place:"; \ ! 107: echo '*** Please either build emacs with SYMROOT != "." or add'; \ ! 108: echo '*** "-traditional" to the CPP command in src/Makefile.'; \ ! 109: false; \ ! 110: fi; \ ! 111: elif [ ! -f $(SYMROOT)/.linked ]; then \ ! 112: echo -n "# Linking source tree into $(SYMROOT)..."; \ ! 113: s=`pwd | sed 's=^/private=='`; \ ! 114: v=`vers_string -n`; \ ! 115: find . -print | sed 's=^./==' | (cd $(SYMROOT); \ ! 116: while read f; do \ ! 117: if [ -d $$s/$$f ]; then \ ! 118: echo -n " $$f"; \ ! 119: if [ ! -d $$f ]; then \ ! 120: mkdirs $$f; \ ! 121: fi; \ ! 122: else \ ! 123: if [ ! -f $$f ]; then \ ! 124: ln -s $$s/$$f $$f; \ ! 125: fi; \ ! 126: fi; \ ! 127: done; \ ! 128: echo ""; \ ! 129: echo "# Fixing up various cruft in the distribution:"; \ ! 130: if grep "^CPP" src/Makefile | grep -s traditional; then \ ! 131: true; \ ! 132: else \ ! 133: echo "# Adding -traditional to CPP in src/Makefile"; \ ! 134: rm -f src/Makefile; \ ! 135: sed '/^CPP/s/$$/ -traditional/' \ ! 136: $$s/src/Makefile >src/Makefile; \ ! 137: fi; \ ! 138: if grep -s "vers\.o" src/ymakefile; then \ ! 139: true; \ ! 140: else \ ! 141: echo "# Including an SGS version file"; \ ! 142: rm -f src/ymakefile; \ ! 143: sed '/^obj=/s/=/= vers.o/' \ ! 144: $$s/src/ymakefile >src/ymakefile; \ ! 145: vers_string -c emacs >src/vers.c; \ ! 146: fi; \ ! 147: if grep C_SWITCH_MACHINE src/m-next.h | grep -s -e "-O"; then \ ! 148: true; \ ! 149: else \ ! 150: echo "# Adding -O to C_SWITCH_MACHINE in src/m-next.h"; \ ! 151: rm -f src/m-next.h; \ ! 152: sed '/C_SWITCH_MACHINE/s/$$/ -O/' \ ! 153: $$s/src/m-next.h >src/m-next.h; \ ! 154: fi; \ ! 155: if grep CFLAGS etc/Makefile | grep -s -e "-O"; then \ ! 156: true; \ ! 157: else \ ! 158: echo "# Adding -O to CFLAGS in etc/Makefile"; \ ! 159: rm -f etc/Makefile; \ ! 160: sed '/CFLAGS/s/$$/ -O/' \ ! 161: $$s/etc/Makefile >etc/Makefile; \ ! 162: fi; \ ! 163: rm -f etc/DOC*; \ ! 164: echo "# Changing lisp/paths.el's definition of" \ ! 165: "manual-program [#33031]"; \ ! 166: rm -f lisp/paths.el; \ ! 167: sed "s/(eq system-type 'berkeley-unix)/(file-exists-p \"\\/usr\\/ucb\\/man\")/" \ ! 168: $$s/lisp/paths.el >lisp/paths.el; \ ! 169: echo "# Setting lisp/version.el's emacs-version to $$v"; \ ! 170: rm -f lisp/version.el; \ ! 171: sed "s/-version \"[0-9\.]*\"/-version \"$$v\"/" \ ! 172: $$s/lisp/version.el >lisp/version.el; \ ! 173: echo "# Disabling lisp/inc-vers.el"; \ ! 174: rm -f lisp/inc-vers.el; \ ! 175: echo "(kill-emacs)" >lisp/inc-vers.el); \ ! 176: fi; \ ! 177: touch $(SYMROOT)/.linked ! 178: ! 179: $(SYMROOT)/src/paths.h: ! 180: @echo "# Creating a NeXT-based paths.h file..." ! 181: sed 's=/usr/local/emacs=$(LIBDIR)=g' src/paths.h-dist >$@ ! 182: ! 183: $(SYMROOT)/src/config.h: ! 184: @echo "# Creating a NeXT-based config.h file..." ! 185: sed -e 's/^#include "s-.*"/#include "$(SFILE)"/' \ ! 186: -e 's/^#include "m-.*"/#include "$(MFILE)"/' \ ! 187: src/config.h-dist >$@ ! 188: ! 189: cleanlinks: $(SYMROOT) ! 190: if [ "$(SYMROOT)" != "." ]; then \ ! 191: find $(SYMROOT) -type l -exec rm '{}' \;; \ ! 192: fi ! 193: ! 194: $(OBJROOT) $(SYMROOT) $(DSTROOT) $(SRCROOT) $(DSTBINDIR) $(DSTLIBDIR) $(DSTSRCDIR): ! 195: mkdirs $@ ! 196: ! 197: $(DSTLCKDIR): ! 198: mkdirs -m 777 $@
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.