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