home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / X / mit / server / Imakefile next >
Encoding:
Makefile  |  1993-07-21  |  8.8 KB  |  378 lines

  1. XCOMM $XConsortium: Imakefile,v 1.135 91/09/22 10:27:51 rws Exp $
  2. /*
  3.  * Server Master Makefile
  4.  */
  5.  
  6. #include <Server.tmpl>
  7.  
  8. #define StdSubdirs dix os ddx/mi
  9. #define MFBSubdirs StdSubdirs ddx/mfb
  10. #define CFBSubdirs MFBSubdirs ddx/cfb
  11. #define StdLibs $(DIX) $(OS) $(MI) $(EXTENSIONS)
  12. #define MFBBareLibs $(DIX) $(OS) $(FONT) $(MFB) $(MI)
  13. #define MFBLibs MFBBareLibs $(EXTENSIONS)
  14. #define CFBBareLibs $(DIX) $(OS) $(FONT) $(CFB) $(MFB) $(MI)
  15. #define CFBLibs CFBBareLibs $(EXTENSIONS)
  16.  
  17. #if BuildPexExt
  18.    PEXTENSIONSRC = $(EXTENSIONSRC)/server/PEX
  19.          PEXLIBS = $(PEXTENSIONSRC)/dipex/dispatch/libdidipex.a \
  20.                    $(PEXTENSIONSRC)/dipex/swap/libdiswapex.a \
  21.                    $(PEXTENSIONSRC)/dipex/objects/libdiobpex.a \
  22.                    $(PEXTENSIONSRC)/dipex/dispatch/libdidipex.a \
  23.                    $(PEXTENSIONSRC)/ddpex/mi/level4/libddpex4.a \
  24.                    $(PEXTENSIONSRC)/ddpex/mi/level3/libddpex3.a \
  25.                    $(PEXTENSIONSRC)/ddpex/mi/shared/libddpexs.a \
  26.                    $(PEXTENSIONSRC)/ddpex/mi/level2/libddpex2.a \
  27.                    $(PEXTENSIONSRC)/ddpex/mi/level1/libddpex1.a \
  28.            $(PEXTENSIONSRC)/ospex/libospex.a 
  29. #endif
  30. #if BuildXInputExt
  31.       OTHEREXTS = $(EXTENSIONSRC)/server/xinput/libxinput.a
  32. #endif
  33.  
  34.         DEPDIRS = $(FONTSRC)/lib/font $(EXTENSIONSRC)/server
  35.      NONPEXEXTS = $(OTHEREXTS) $(EXTENSIONSRC)/server/libext.a
  36.      EXTENSIONS = $(NONPEXEXTS) $(PEXLIBS)
  37.          XAULIB = $(XAUTHSRC)/libXau.a
  38.        XDMCPLIB = $(XDMCPLIBSRC)/libXdmcp.a
  39.              OS = os/libos.a $(XAULIB) $(XDMCPLIB)
  40.         BSDEMUL = $(LIBSRC)/Berk/Berklib.o
  41.             MFB = ddx/mfb/libmfb.a
  42.             CFB = ddx/cfb/libcfb.a
  43.              MI = ddx/mi/libmi.a
  44.             DIX = dix/libdix.a
  45.            FONT = $(FONTSRC)/lib/font/libfont.a
  46. #if SystemV4 && X386Server
  47.         SYSLIBS = -lm /usr/ucblib/libucb.a
  48. #else
  49.         SYSLIBS = -lm -ldbm
  50. #endif
  51.            CBRT = ddx/mi/cbrt.o
  52.  
  53. XCOMM
  54. XCOMM This turns off the default rule for compiling .c files because
  55. XCOMM this makefile does not really know how to build it.  This is really
  56. XCOMM just a hack because of the Sun version of make and nfs.
  57. XCOMM
  58. .c.o:
  59.  
  60. /*****************************************************************************
  61.  *          ALL definitions, add one for each server                   *
  62.  *****************************************************************************/
  63.  
  64. #if XqdssServer
  65. ALL1 = Xqdss
  66. #endif
  67.  
  68. #if XqvssServer
  69. #if XqdssServer
  70. ALL2 = Xqvss
  71. #else
  72. ALL1 = Xqvss
  73. #endif
  74. #endif
  75.  
  76. #if XdecServer
  77. ALL1 = Xdec
  78. #endif
  79.  
  80. #if XmfbpmaxServer
  81. ALL1 = Xmfbpmax
  82. #endif
  83.  
  84. #if XcfbpmaxServer
  85. #if XmfbpmaxServer
  86. ALL2 = Xcfbpmax
  87. #else
  88. ALL1 = Xcfbpmax
  89. #endif
  90. #endif
  91.  
  92. #if XsunMonoServer
  93. #if XsunServer
  94. ALL2 = XsunMono
  95. #else
  96. ALL1 = XsunMono
  97. #endif
  98. #endif
  99.  
  100. #if XsunServer
  101. ALL1 = Xsun
  102. #endif
  103.  
  104. #if XibmServer
  105. ALL1 = Xibm
  106. #endif
  107.  
  108. #if XtekServer
  109. ALL1 = Xtek
  110. #endif
  111.  
  112. #if XmacIIServer
  113. ALL1 = XmacII
  114. #endif
  115.  
  116. #if XlunaServer
  117. ALL1 = Xluna
  118. #endif
  119.  
  120. #if XmipsServer
  121. ALL1 = Xmips
  122. #endif
  123.  
  124. #if X386Server
  125. ALL1 = X386
  126. #endif
  127.  
  128. #if XnonServer
  129. ALL2 = Xnon
  130. #endif
  131.  
  132. /* end ALL definitions */
  133.  
  134. ALL = $(ALL1) $(ALL2)
  135.  
  136. all: $(ALL)
  137.  
  138.  
  139. /*****************************************************************************
  140.  *          Build rule blocks, add one for each server                 *
  141.  *****************************************************************************/
  142.  
  143.  
  144. #if XqdssServer
  145. XCOMM
  146. XCOMM Digital qdss server
  147. XCOMM
  148. SUBDIRS0 = MFBSubdirs ddx/dec/lk201
  149. SUBDIRS1 = ddx/dec/qdss ddx/dec/qdss/libtl
  150. QDSSDIRS = $(SUBDIRS0) $(SUBDIRS1) $(DEPDIRS)
  151. QDSSOBJS = ddx/dec/qdss/init.o ddx/dec/qdss/qdss_io.o ddx/dec/lk201/lk201.o
  152. QDSSLIBS = ddx/dec/qdss/libqdss.a ddx/dec/qdss/libtl/libtl.a \
  153.            ddx/dec/qdss/libqdss.a MFBLibs
  154.  
  155. ServerTarget(Xqdss,$(QDSSDIRS),$(QDSSOBJS),$(QDSSLIBS),$(SYSLIBS))
  156. #endif /* XqdssServer */
  157.  
  158.  
  159. #if XqvssServer
  160. XCOMM
  161. XCOMM Digital qvss server
  162. XCOMM
  163. SUBDIRS0 = MFBSubdirs ddx/dec/lk201
  164. SUBDIRS2 = ddx/dec/qvss
  165. QVSSDIRS = $(SUBDIRS0) $(SUBDIRS2) $(DEPDIRS)
  166. QVSSOBJS = ddx/dec/qvss/init.o ddx/dec/qvss/qvss_io.o ddx/dec/lk201/lk201.o
  167. QVSSLIBS = MFBLibs
  168.  
  169. ServerTarget(Xqvss,$(QVSSDIRS),$(QVSSOBJS),$(QVSSLIBS),$(SYSLIBS))
  170. #endif /* XqvssServer */
  171.  
  172.  
  173. #if XdecServer
  174. XCOMM
  175. XCOMM Digital MIPS based WS server (ultrix 4.2 and beyond)
  176. XCOMM
  177. SUBDIRS0 = CFBSubdirs ddx/dec/ws
  178. DECDIRS = $(SUBDIRS0) $(DEPDIRS)
  179. DECOBJS = ddx/dec/ws/init.o
  180. DECLIBS = ddx/dec/ws/libdec.a CFBLibs
  181.  
  182. ServerTarget(Xdec,$(DECDIRS),$(DECOBJS),$(DECLIBS),$(SYSLIBS))
  183. #endif /* XdecServer */
  184.  
  185.  
  186. #if XmfbpmaxServer
  187. XCOMM
  188. XCOMM Digital mfbpmax server
  189. XCOMM
  190. SUBDIRS0 = MFBSubdirs
  191. SUBDIRS2 = ddx/dec/lk201
  192. SUBDIRS3 = ddx/dec/mfbpmax
  193. PMAXMFBDIRS = $(SUBDIRS0) $(SUBDIRS2) $(SUBDIRS3) $(DEPDIRS)
  194. PMAXMFBOBJS = ddx/dec/mfbpmax/init.o ddx/dec/mfbpmax/mfbpmax_io.o ddx/dec/lk201/lk201.o
  195. PMAXMFBLIBS = MFBLibs
  196.  
  197. ServerTarget(Xmfbpmax,$(PMAXMFBDIRS),$(PMAXMFBOBJS),$(PMAXMFBLIBS),$(SYSLIBS))
  198. #endif /* XmfbpmaxServer */
  199.  
  200.  
  201. #if XcfbpmaxServer
  202. XCOMM
  203. XCOMM Digital cfbpmax server
  204. XCOMM
  205. SUBDIRS0 = MFBSubdirs
  206. SUBDIRS1 = ddx/cfb ddx/dec/cfbpmax
  207. SUBDIRS2 = ddx/dec/lk201
  208. PMAXCFBDIRS = $(SUBDIRS0) $(SUBDIRS1) $(SUBDIRS2) $(DEPDIRS)
  209. PMAXCFBOBJS = ddx/dec/cfbpmax/init.o ddx/dec/cfbpmax/cfbpmax_io.o \
  210.     ddx/dec/cfbpmax/cfbpmaxcolor.o ddx/dec/lk201/lk201.o
  211. PMAXCFBLIBS = CFBLibs
  212.  
  213. ServerTarget(Xcfbpmax,$(PMAXCFBDIRS),$(PMAXCFBOBJS),$(PMAXCFBLIBS),$(SYSLIBS))
  214. #endif /* XcfbpmaxServer */
  215.  
  216.  
  217. #if XsunServer
  218. XCOMM
  219. XCOMM Sun server
  220. XCOMM
  221. #if UseSunWindowsInServer
  222. SUNWINDOWSLIBS = -lsunwindow -lpixrect
  223. #endif
  224. SUBDIRS0 = MFBSubdirs
  225. SUBDIRS1 = ddx/cfb
  226. SUBDIRS2 = ddx/sun
  227. SUNDIRS = $(SUBDIRS0) $(SUBDIRS1) $(SUBDIRS2) $(DEPDIRS)
  228. SUNOBJS = ddx/sun/sunInit.o
  229. SUNLIBS = ddx/sun/libsun.a CFBLibs
  230. SUNSYSLIBS = $(SYSLIBS) $(SUNWINDOWSLIBS)
  231.  
  232. ServerTarget(Xsun,$(SUNDIRS),$(SUNOBJS),$(SUNLIBS),$(SUNSYSLIBS))
  233. #endif /* XsunServer */
  234.  
  235.  
  236. #if XsunMonoServer
  237. XCOMM
  238. XCOMM Sun monochrome server
  239. XCOMM
  240. #if UseSunWindowsInServer
  241. SUNWINDOWSLIBS = -lsunwindow -lpixrect
  242. #endif
  243. SUBDIRS0 = MFBSubdirs
  244. SUBDIRS2 = ddx/sun
  245. SUNMDIRS = $(SUBDIRS0) $(SUBDIRS2) $(DEPDIRS)
  246. SUNMOBJS = ddx/sun/sunInitMono.o ddx/sun/sunInitExtMono.o
  247. SUNMLIBS = ddx/sun/libsun.a MFBBareLibs $(NONPEXEXTS)
  248. SUNSYSLIBS = $(SYSLIBS) $(SUNWINDOWSLIBS)
  249.  
  250. ServerTarget(XsunMono,$(SUNMDIRS),$(SUNMOBJS),$(SUNMLIBS),$(SUNSYSLIBS))
  251. #endif /* XsunMonoServer */
  252.  
  253.  
  254. #if XibmServer
  255. XCOMM
  256. XCOMM IBM server
  257. XCOMM
  258. #if SpecialMalloc
  259. IBMALLOCLIB = ddx/ibm/common/libibmalloc.a
  260. #else
  261. IBMALLOCLIB = 
  262. #endif
  263. SUBDIRS0 = CFBSubdirs ddx/ibm
  264. IBMDIRS = $(SUBDIRS0) $(DEPDIRS)
  265. IBMOBJS = ddx/ibm/common/ibmcomm.o ddx/ibm/common/ibmDate.o ddx/ibm/pgc/pgc.o
  266. IBMLIBS = ddx/ibm/AIX/hft.o ddx/ibm/libibm.a $(IBMALLOCLIB) CFBLibs
  267.  
  268. ServerTarget(Xibm,$(IBMDIRS),$(IBMOBJS),$(IBMLIBS),$(SYSLIBS))
  269. #endif /* XibmServer */
  270.  
  271.  
  272. #if XtekServer
  273. XCOMM
  274. XCOMM Tektronix server
  275. XCOMM
  276. SUBDIRS0 = CFBSubdirs ddx/tek
  277. TEKDIRS = $(SUBDIRS0) $(DEPDIRS)
  278. TEKOBJS = ddx/tek/pegInit.o
  279. TEKLIBS = ddx/tek/libtek.a CFBLibs
  280. TEKSYSLIBS = $(CBRT) $(SYSLIBS)
  281.  
  282. ServerTarget(Xtek,$(TEKDIRS),$(TEKOBJS),$(TEKLIBS),$(TEKSYSLIBS))
  283. #endif /* XtekServer */
  284.  
  285.  
  286. #if XmacIIServer
  287. XCOMM
  288. XCOMM Apple MacII server
  289. XCOMM
  290. SUBDIRS0 = CFBSubdirs ddx/macII
  291. MACIIDIRS = $(SUBDIRS0) $(DEPDIRS)
  292. MACIIOBJS = ddx/macII/macIIInitS.o ddx/macII/macIIColor.o
  293. MACIILIBS = ddx/macII/libmacII.a CFBLibs
  294. MACIISYSLIBS = $(CBRT) $(SYSLIBS)
  295.  
  296. ServerTarget(XmacII,$(MACIIDIRS),$(MACIIOBJS),$(MACIILIBS),$(MACIISYSLIBS))
  297. #endif /* XmacIIServer */
  298.  
  299.  
  300. #if XlunaServer
  301. XCOMM
  302. XCOMM OMRON Luna server
  303. XCOMM
  304. SUBDIRS0 = MFBSubdirs ddx/omron
  305. LUNADIRS = $(SUBDIRS0) $(DEPDIRS)
  306. LUNAOBJS = ddx/omron/omronInit.o
  307. #ifdef uniosu
  308. LUNALIBS = ddx/omron/libomron.a MFBLibs $(BSDEMUL)
  309. #else
  310. LUNALIBS = ddx/omron/libomron.a MFBLibs
  311. #endif
  312.  
  313. ServerTarget(Xluna,$(LUNADIRS),$(LUNAOBJS),$(LUNALIBS),$(SYSLIBS))
  314. #endif /* XlunaServer */
  315.  
  316.  
  317. #if XmipsServer
  318. XCOMM
  319. XCOMM MIPS server
  320. XCOMM
  321. SUBDIRS0 = CFBSubdirs ddx/mips
  322. MIPSDIRS = $(SUBDIRS0) $(DEPDIRS)
  323. MIPSOBJS = ddx/mips/mipsInit.o
  324. MIPSLIBS = ddx/mips/libmips.a CFBLibs
  325. MIPSSYSLIBS = $(SYSLIBS) -lc /usr/lib/libc.a
  326.  
  327. ServerTarget(Xmips,$(MIPSDIRS),$(MIPSOBJS),$(MIPSLIBS),$(MIPSSYSLIBS))
  328. #endif /* XmipsServer */
  329.  
  330.  
  331. #if X386Server
  332. XCOMM
  333. XCOMM X386 server
  334. XCOMM
  335. SUBDIRS0 = MFBSubdirs ddx/x386
  336. X386DIRS = $(SUBDIRS0) $(DEPDIRS)
  337. X386OBJS = ddx/x386/x386Init.o
  338. #ifdef i386SVR3Architecture
  339. X386SYSLIBS = $(CBRT) $(BSDEMUL)
  340. #endif
  341. X386LIBS = ddx/x386/libx386.a ddx/x386/vga/libvga.a ddx/x386/drivers/libdrivers.a ddx/x386/cfb.banked/libcfb.a MFBLibs $(X386SYSLIBS)
  342.  
  343. INSTPGMFLAGS = $(INSTUIDFLAGS)     /* server must be suid root  */
  344. ServerTarget(X386,$(X386DIRS),$(X386OBJS),$(X386LIBS),$(SYSLIBS))
  345. #endif /* X386Server */
  346.  
  347.  
  348. #if XnonServer
  349. XCOMM
  350. XCOMM non server, just compile sources for build test
  351. XCOMM
  352. SUBDIRS0 = CFBSubdirs
  353.  
  354. Xnon: $(SUBDIRS0) $(DEPDIRS)
  355.  
  356. #endif /* XnonServer */
  357.  
  358.  
  359. SUBDIRS = $(SUBDIRS0) $(SUBDIRS1) $(SUBDIRS2) $(SUBDIRS3)
  360.  
  361. InstallMultipleFlags($(ALL),$(BINDIR),$(INSTPGMFLAGS))
  362.  
  363. install::
  364.     -(cd $(DESTDIR)$(BINDIR); $(RM) X; $(LN) $(ALL1) X)
  365.  
  366. #define IHaveSubdirs
  367.  
  368. DependSubdirs($(SUBDIRS))
  369. MakeLintLibSubdirs($(SUBDIRS))
  370. LintSubdirs($(SUBDIRS))
  371.  
  372. ForceSubdirs($(DEPDIRS) $(SUBDIRS))
  373.  
  374. clean::
  375.     $(RM) $(ALL)
  376.  
  377. InstallManPage(Xserver,$(MANDIR))
  378.