1# 2# xbs-compatible Makefile for gnuserv. 3# 4 5SHELL := /bin/sh 6 7Project = gnuserv 8 9# Sane defaults, which are typically overridden on the command line. 10SRCROOT= 11OBJROOT=$(SRCROOT) 12SYMROOT=$(OBJROOT) 13DSTROOT=/usr/local 14RC_ARCHS= 15 16ENV= CFLAGS="$(RC_ARCHS:%=-arch %) -no-cpp-precomp -mdynamic-no-pic -Os" 17 18MKDIR = mkdir -p -m 0755 19INSTALL_FILE = install -o root -g wheel -m 0644 20 21OSV = $(DSTROOT)/usr/local/OpenSourceVersions 22OSL = $(DSTROOT)/usr/local/OpenSourceLicenses 23 24# Since the vendor (Apple) is installing this, it must not go in the site-lisp 25# directory. Unfortunately, that means hard coding the path to the emacs lisp 26# directory, which happens to have the emacs version number embedded in it. As 27# such, this variable needs updated every time the emacs version changes. 28EMACS_VERSION := $(shell /usr/libexec/dumpemacs -V) 29# byte-compile using temacs (3325521) 30TEMACS=/usr/bin/emacs-undumped 31 32INSTALLED_BINS := gnuserv gnuclient 33 34.PHONY : installsrc installhdrs install clean 35 36installsrc : 37 tar cf - . | (cd $(SRCROOT) ; tar xfp -) 38 for i in `find $(SRCROOT) | grep "CVS$$"` ; do \ 39 if test -d $$i ; then \ 40 rm -rf $$i; \ 41 fi; \ 42 done 43 44installhdrs : 45 46install : 47 $(SHELL) -ec \ 48 'cd $(SRCROOT)/gnuserv; \ 49 $(ENV) ./configure --prefix=$(DSTROOT)/usr; \ 50 $(ENV) $(MAKE) EMACS="$(TEMACS)"; \ 51 $(ENV) $(MAKE) install; \ 52 $(ENV) $(MAKE) distclean; \ 53 mkdir -p $(DSTROOT)/usr/share; \ 54 mv $(DSTROOT)/usr/man $(DSTROOT)/usr/share/man; \ 55 mkdir -p $(DSTROOT)/usr/share/emacs/$(EMACS_VERSION); \ 56 mv $(DSTROOT)/usr/share/emacs/site-lisp \ 57 $(DSTROOT)/usr/share/emacs/$(EMACS_VERSION)/lisp; \ 58 for b in $(INSTALLED_BINS) ; do \ 59 strip -x $(DSTROOT)/usr/bin/$${b}; \ 60 done' 61 $(MKDIR) $(OSV) 62 $(INSTALL_FILE) $(SRCROOT)/$(Project).plist $(OSV)/$(Project).plist 63 $(MKDIR) $(OSL) 64 $(INSTALL_FILE) $(SRCROOT)/$(Project)/COPYING $(OSL)/$(Project).txt 65 66clean: 67