BSD 4_3 development
[unix-history] / usr / contrib / X / Makefile
CommitLineData
67ce4a92
C
1#
2# Copyright 1985, Massachusetts Institute of Technology.
3#
4# $Header: Makefile,v 10.25 86/02/13 16:20:15 jg Exp $
5#
6# Subdirectories that have makefiles of their own.
7#
8# This is the master makefile for the X window system.
9# Please look at the document in doc/installation for installation
10# directions.
11#
12# If you have RCP'd the directory tree, you have destroyed
13# a number of symbolic links that are set up so that only a single
14# copy of some files exist. We recommend 'tar'ing the files
15# to move them.
16#
17# The CONFDIR should be set to the location where you want executables to
18# be placed. By default, it will put stuff in /usr/new.
19# If you change it here, you probably want to do a "make reconfig" to
20# change the makefiles one level down.
21# If you are on a stock 4.2 system, you may need to remove the
22# "#include <sys/types.h>" from Xlib/Xlib.h for many programs to build.
23# This is the last distribution which will have any verification
24# on 4.2BSD build capability. From here on out, 4.3 BSD will be presumed.
25#
26# The command
27# make xlibchange
28# will remove the include line from Xlib/Xlib.h.
29#
30# On a Sun system, you should first
31# make sun # to set things up for a Sun workstation.
32# # also does 'make xlibchange'
33#
34# The basic procedure for 4.3 should be:
35# make all # build the binaries (as yourself)
36# make install # install the executables (as root)
37# You will also have to build a kernel with the Vs100 driver in it,
38# and add a line to /etc/ttys for each display (See the X(8c) manual page)
39# You must also rename a pseudo tty pair for each Display configured.
40# For example: mv /dev/ttyqf /dev/ttyv0; mv /dev/ptyqf /dev/ptyv0
41# Make sure to make as many pty's as possible.
42#
43# If you want DECnet support, you must define the symbol DNETCONN in
44# the X, Xlib, and xhost makefiles. By default, only TCP and Unix domain
45# are built.
46#
47# Jim Gettys
48#
49#
50CONFDIR= /usr/new
51# XDIR is where the fonts and firmware will be installed.
52# if you change XDIR, you must change libvs100/vssite.h to match.
53XDIR= /lib/X
54# The version should be increased when the protocol changes
55# by convention, stuff only available in binary form goes in exe.v{XVERSION}
56XVERSION= 10
57
58SUBDIR= rgb inline Xlib XMenu libnest libvs100 libsun X bitmap man keycomp\
59 pikapix uwm xterm xclock xcons \
60 xdvi xfd xgedit xhost ximpv xinit xload xnwm xpr xrefresh xset\
61 xshell xsetroot xwininfo xwd xwud xwm
62all:
63 for i in ${SUBDIR}; do \
64 (cd $$i; echo "compiling $$i";\
65 make ${MFLAGS} DESTDIR=${DESTDIR} CONFDIR=${CONFDIR} all;\
66 cd ..);\
67 done
68
69# the following is for use when the X library changes
70relink:
71 for i in ${SUBDIR}; do \
72 rm -f $$i/$$i; \
73 done
74 make all
75
76# we install the CLU demo programs since most people don't have CLU compilers
77install:
78 echo "Moving X library directory to .old"
79 -mv -f ${DESTDIR}${CONFDIR}${XDIR} ${DESTDIR}${CONFDIR}${XDIR}.old
80 echo "Make sure the installation directories exist..."
81 -mkdir ${DESTDIR}${CONFDIR}
82 -mkdir ${DESTDIR}${CONFDIR}/lib
83 -mkdir ${DESTDIR}${CONFDIR}${XDIR}
84 make inc
85 for i in ${SUBDIR}; do \
86 (cd $$i; echo "installing $$i";\
87 make ${MFLAGS} DESTDIR=${DESTDIR} CONFDIR=${CONFDIR} install;\
88 cd ..); \
89 done
90 (cd exe.v${XVERSION}; install -c xfax ${DESTDIR}${CONFDIR};\
91 install -c xdemo ${DESTDIR}${CONFDIR};\
92 install -c xted ${DESTDIR}${CONFDIR}; cd ..)
93 echo "Copying fonts."
94 cp -r font ${DESTDIR}${CONFDIR}${XDIR}
95 cp -r s-code ${DESTDIR}${CONFDIR}${XDIR}
96
97inc:
98 echo "Removing /usr/include/X.old if any exists....."
99 rm -rf ${DESTDIR}/usr/include/X.old
100 echo "/usr/include/X being moved to /usr/include/X.old"
101 -mv -f ${DESTDIR}/usr/include/X ${DESTDIR}/usr/include/X.old
102 mkdir ${DESTDIR}/usr/include/X
103 for i in X Xlib XMenu; do \
104 (cd $$i; echo "copying include files $$i";\
105 make ${MFLAGS} DESTDIR=${DESTDIR} CONFDIR=${CONFDIR} include;\
106 cd ..); \
107 done
108
109clean:
110 rm -f a.out core *.o errs ERRS \#*
111 for i in ${SUBDIR}; do (cd $$i; make ${MFLAGS} clean; cd ..); done
112 -rm -rf ${DESTDIR}${CONFDIR}${XDIR}.old ${DESTDIR}/usr/include/X.old
113
114
115# useful entry if you decide to change your configuration for binaries.
116reconfig:
117 for i in ${SUBDIR}; do \
118 (umask 222; cd $$i; \
119 sed -e "s[/usr/new[${CONFDIR}[" <Makefile >Makefile.new;\
120 mv -f Makefile.new Makefile; cd .. ); \
121 done
122
123
124# move bin directory into ${CONFDIR}
125berkeleydist: clean
126 rm -rf xperfmon test
127 rm -rf man/xperfmon.1
128 rm -f xted/*.bin xdemo/*.bin xfax/*.bin
129 rm -rf RCS */RCS */*/RCS */*/*/RCS
130 rm -rf maint
131
132mitdist:
133 rm -rf xperfmon test
134 rm -rf man/xperfmon.1
135 rm -rf RCS */RCS */*/RCS */*/*/RCS
136 rm -rf maint
137
138# fixup Xlib.h to get rid of <sys/types.h> for Sun 2.0 and before.
139# replace VAX demo executables with Sun executables.
140sun:
141 make xlibchange
142 for i in exe.v${XVERSION}/*.sun; do \
143 -mv $$i exe.v${XVERSION}/`basename $$i .sun` ; \
144 done
145
146xlibchange:
147 fgrep -v '#include <sys/types.h>' Xlib/Xlib.h >/tmp/nxlib
148 mv -f /tmp/nxlib Xlib/Xlib.h