summaryrefslogtreecommitdiff
path: root/xc/programs/rstart/Imakefile
blob: 17f0fa35242eb71bceb5334c479ddf975b51dc41 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
XCOMM $XConsortium: Imakefile,v 1.12 94/12/01 20:16:44 kaleb Exp $
XCOMM
XCOMM Copyright (c) 1993 Quarterdeck Office Systems
XCOMM
XCOMM Permission to use, copy, modify, distribute, and sell this software
XCOMM and software and its documentation for any purpose is hereby granted
XCOMM without fee, provided that the above copyright notice appear in all
XCOMM copies and that both that copyright notice and this permission
XCOMM notice appear in supporting documentation, and that the name
XCOMM Quarterdeck Office Systems, Inc. not be used in advertising or
XCOMM publicity pertaining to distribution of this software without
XCOMM specific, written prior permission.
XCOMM
XCOMM THIS SOFTWARE IS PROVIDED 'AS-IS'.  QUARTERDECK OFFICE SYSTEMS,
XCOMM INC., DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
XCOMM INCLUDING WITHOUT LIMITATION ALL IMPLIED WARRANTIES OF
XCOMM MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
XCOMM NONINFRINGEMENT.  IN NO EVENT SHALL QUARTERDECK OFFICE SYSTEMS,
XCOMM INC., BE LIABLE FOR ANY DAMAGES WHATSOEVER, INCLUDING SPECIAL,
XCOMM INCIDENTAL OR CONSEQUENTIAL DAMAGES, INCLUDING LOSS OF USE, DATA, OR
XCOMM PROFITS, EVEN IF ADVISED OF THE POSSIBILITY THEREOF, AND REGARDLESS
XCOMM OF WHETHER IN AN ACTION IN CONTRACT, TORT OR NEGLIGENCE, ARISING OUT
XCOMM OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

XCOMM Having had to change the name once, I do not want it to be tough
XCOMM the next time...
SERVERNAME=rstartd
CLIENTNAME=rstart
MYLIBDIR=$(LIBDIR)/rstart
ENVPREFIX=RSTART
PACKAGEname=rstart

USRBIN=DefaultUsrBin

#ifndef RshCmd
# if	SystemV
#  ifdef HPArchitecture
#   define	RshCmd	remsh
#  else
#   define	RshCmd	rcmd
#  endif
# else
#  define	RshCmd	rsh
# endif
#endif

RSHCMD=RshCmd

           SRCS = server.c auth.c
           OBJS = server.o auth.o

SRVDEFS = -DSERVERNAME=\"$(SERVERNAME)\" -DDEFAULT_CONFIG=\"$(MYLIBDIR)/config\"
#if !HasPutenv
PEDEFS = -DNOPUTENV
#endif

AllTarget($(SERVERNAME).real)
NormalProgramTarget($(SERVERNAME).real, $(OBJS),NullParameter,NullParameter,NullParameter)
InstallProgram($(SERVERNAME).real,$(MYLIBDIR))

SpecialCObjectRule(server,NullParameter,$(SRVDEFS) $(PEDEFS))

AllTarget($(SERVERNAME))
CppScriptTarget($(SERVERNAME),server.cpp,-DLIBDIR=$(MYLIBDIR) -DSERVERNAME=$(SERVERNAME),NullParameter)
InstallNamedProg($(SERVERNAME),$(SERVERNAME),$(USRBIN))

AllTarget($(CLIENTNAME))
CppScriptTarget($(CLIENTNAME),client.cpp,-DRSHCMD=$(RSHCMD) -DSERVERNAME=$(SERVERNAME),NullParameter)
InstallNamedProg($(CLIENTNAME),$(CLIENTNAME),$(BINDIR))

AllTarget(config)
CppFileTarget(config,config.cpp,-DBINDIR=$(BINDIR) -DLIBDIR=$(MYLIBDIR) -DPACKAGEname=$(PACKAGEname) -DENVPREFIX=$(ENVPREFIX),NullParameter)
InstallNonExecFile(config,$(MYLIBDIR))

#ifdef	ProjectRoot
DEFAULT_X_MANPATH=$(MANPATH):SystemManDirectory
#else
DEFAULT_X_MANPATH=SystemManDirectory
#endif

DEFAULT_USER_PATH=DefaultUserPath

#define MakeDirect(dir) if [ -d dir ]; then set +x;			\@@\
		else (set -x; $(MKDIRHIER) dir); fi

#define	FilterContext(src, dest)					\@@\
	RemoveFile(dest);						\@@\
	sed								\@@\
		-e 's,_PATH,$(DEFAULT_USER_PATH),g'			\@@\
		-e 's,_MANPATH,$(DEFAULT_X_MANPATH),g'			\@@\
		< src > dest

#define	FilterCommand(src, dest)					\@@\
	RemoveFile(dest);						\@@\
	sed								\@@\
		-e 's,ENVPREFIX,$(ENVPREFIX),g'				\@@\
		< src > dest;						\@@\
	case `basename dest` in						\@@\
	@*)								\@@\
		;;							\@@\
	*)								\@@\
		chmod +x dest ;;					\@@\
	esac

#define	Recurse(src, dest, filefunc)					\@@\
	set -x;								\@@\
	find src -print |						\@@\
		while read name;					\@@\
		do							\@@\
			if test -f $$name;				\@@\
			then						\@@\
				filefunc($$name,$(DESTDIR)dest/$$name);	\@@\
			else						\@@\
				MakeDirect($(DESTDIR)dest/$$name);	\@@\
			fi;						\@@\
 		done

#if	HasSymLinks
#define	InstallAliases()						\@@\
	set -x;								\@@\
 	cd $(DESTDIR)$(MYLIBDIR)/contexts;				\@@\
 		sed -e '/^$$/d' -e '/^#/d' @Aliases |			\@@\
 		while read real aliases;				\@@\
 		do							\@@\
 			for i in $$aliases;				\@@\
 			do						\@@\
 				$(RM) $$i;				\@@\
 				$(LN) $$real $$i;			\@@\
 				$(RM) $(DESTDIR)$(MYLIBDIR)/commands/$$i; \@@\
 				$(LN) $$real $(DESTDIR)$(MYLIBDIR)/commands/$$i; \@@\
 			done;						\@@\
 		done;							\@@\
 		rm @Aliases
#else
#define	InstallAliases()						\@@\
	echo "Sorry:  don't yet know how to install aliases without symlinks"
#endif

install::
	Recurse(commands,$(MYLIBDIR),FilterCommand)
	Recurse(contexts,$(MYLIBDIR),FilterContext)
	InstallAliases()

InstallManPage(rstart,$(MANDIR))
InstallManPage(rstartd,$(MANDIR))

XCOMM # Turning this on makes the server look up host names in $DISPLAY and
XCOMM # substitute IP addresses.  (ODT v1 X clients can't look names up in
XCOMM # DNS.)
XCOMM #CFLAGS=-DODT1_DISPLAY_HACK