Makefile.am revision 88de56cc
1if XKB
2XKB_SUBDIRS = xkb
3endif
4SUBDIRS = util xcms xlibi18n $(XKB_SUBDIRS)
5
6lib_LTLIBRARIES=libX11.la
7
8BUILT_SOURCES=ks_tables.h
9CLEANFILES=ks_tables.h ks_tables_h
10
11AM_CPPFLAGS= \
12	-I$(top_srcdir)/include \
13	-I$(top_srcdir)/include/X11 \
14	-I$(top_builddir)/include \
15	-I$(top_builddir)/include/X11 \
16	-I$(top_srcdir)/src/xcms \
17	-I$(top_srcdir)/src/xkb \
18	-I$(top_srcdir)/src/xlibi18n \
19	-D_BSD_SOURCE -DX11_t -DTRANS_CLIENT
20
21AM_CFLAGS= \
22	$(X11_CFLAGS) \
23	$(BIGFONT_CFLAGS) \
24	$(XDMCP_CFLAGS) \
25	$(XMALLOC_ZERO_CFLAGS) \
26	$(CWARNFLAGS)
27
28#
29# =============================== I18N =============================
30#
31
32I18N_LIBS = \
33	xlibi18n/libi18n.la
34
35#
36# =============================== XCMS =============================
37#
38
39XCMS_LIBS = \
40	xcms/libxcms.la
41
42#
43# =============================== XKB ==============================
44#
45
46XKB_LIBS = \
47	xkb/libxkb.la
48
49#
50# =============================== XLIB =============================
51#
52
53libX11_la_SOURCES = \
54                  AllCells.c \
55                  AllowEv.c \
56                  AllPlanes.c \
57                  AutoRep.c \
58                  Backgnd.c \
59                  BdrWidth.c \
60                  Bell.c \
61                  Border.c \
62                  ChAccCon.c \
63                  ChActPGb.c \
64                  ChClMode.c \
65                  ChCmap.c \
66                  ChGC.c \
67                  ChKeyCon.c \
68                  ChkIfEv.c \
69                  ChkMaskEv.c \
70                  ChkTypEv.c \
71                  ChkTypWEv.c \
72                  ChkWinEv.c \
73                  ChPntCon.c \
74                  ChProp.c \
75                  ChSaveSet.c \
76                  ChWAttrs.c \
77                  ChWindow.c \
78                  CirWin.c \
79                  CirWinDn.c \
80                  CirWinUp.c \
81                  ClDisplay.c \
82                  ClearArea.c \
83                  Clear.c \
84		  Cmap.h \
85                  ConfWind.c \
86                  Context.c \
87                  ConvSel.c \
88                  CopyArea.c \
89                  CopyCmap.c \
90                  CopyGC.c \
91                  CopyPlane.c \
92                  CrBFData.c \
93                  CrCmap.c \
94                  CrCursor.c \
95                  CrGC.c \
96                  CrGlCur.c \
97                  Cr.h \
98                  CrPFBData.c \
99                  CrPixmap.c \
100                  CrWindow.c \
101                  Cursor.c \
102                  DefCursor.c \
103                  DelProp.c \
104                  Depths.c \
105                  DestSubs.c \
106                  DestWind.c \
107                  DisName.c \
108                  DrArc.c \
109                  DrArcs.c \
110                  DrLine.c \
111                  DrLines.c \
112                  DrPoint.c \
113                  DrPoints.c \
114                  DrRect.c \
115                  DrRects.c \
116                  DrSegs.c \
117                  ErrDes.c \
118                  ErrHndlr.c \
119                  evtomask.c \
120                  EvToWire.c \
121                  FetchName.c \
122                  FillArc.c \
123                  FillArcs.c \
124                  FillPoly.c \
125                  FillRct.c \
126                  FillRcts.c \
127                  FilterEv.c \
128                  Flush.c \
129                  Font.c \
130                  FontInfo.c \
131                  FontNames.c \
132                  FreeCmap.c \
133                  FreeCols.c \
134                  FreeCurs.c \
135                  FreeEData.c \
136                  FreeEventData.c \
137                  FreeGC.c \
138                  FreePix.c \
139                  FSSaver.c \
140                  FSWrap.c \
141                  GCMisc.c \
142                  Geom.c \
143                  GetAtomNm.c \
144                  GetColor.c \
145                  GetDflt.c \
146                  GetEventData.c \
147                  GetFPath.c \
148                  GetFProp.c \
149                  GetGCVals.c \
150                  GetGeom.c \
151                  GetHColor.c \
152                  GetHints.c \
153                  GetIFocus.c \
154                  GetImage.c \
155                  GetKCnt.c \
156                  GetMoEv.c \
157                  GetNrmHint.c \
158                  GetPCnt.c \
159                  GetPntMap.c \
160                  GetProp.c \
161                  GetRGBCMap.c \
162                  GetSOwner.c \
163                  GetSSaver.c \
164                  GetStCmap.c \
165                  GetTxtProp.c \
166                  GetWAttrs.c \
167                  GetWMCMapW.c \
168                  GetWMProto.c \
169                  globals.c \
170                  GrButton.c \
171                  GrKeybd.c \
172                  GrKey.c \
173                  GrPointer.c \
174                  GrServer.c \
175                  Host.c \
176                  Iconify.c \
177                  IfEvent.c \
178		  imConv.c \
179                  ImText16.c \
180                  ImText.c \
181                  ImUtil.c \
182                  InitExt.c \
183                  InsCmap.c \
184                  IntAtom.c \
185                  KeyBind.c \
186                  Key.h \
187                  KeysymStr.c \
188                  KillCl.c \
189                  LiHosts.c \
190                  LiICmaps.c \
191                  LiProps.c \
192                  ListExt.c \
193                  LoadFont.c \
194                  LockDis.c \
195                  locking.c \
196                  locking.h \
197                  LookupCol.c \
198                  LowerWin.c \
199                  Macros.c \
200                  MapRaised.c \
201                  MapSubs.c \
202                  MapWindow.c \
203                  MaskEvent.c \
204                  Misc.c \
205                  ModMap.c \
206                  MoveWin.c \
207                  NextEvent.c \
208                  OCWrap.c \
209                  OMWrap.c \
210                  OpenDis.c \
211                  ParseCmd.c \
212                  ParseCol.c \
213                  ParseGeom.c \
214                  PeekEvent.c \
215                  PeekIfEv.c \
216                  Pending.c \
217                  PixFormats.c \
218                  PmapBgnd.c \
219                  PmapBord.c \
220                  poly.h \
221                  PolyReg.c \
222                  PolyTxt16.c \
223                  PolyTxt.c \
224                  PropAlloc.c \
225                  PutBEvent.c \
226                  PutImage.c \
227                  Quarks.c \
228                  QuBest.c \
229                  QuColor.c \
230                  QuColors.c \
231                  QuCurShp.c \
232                  QuExt.c \
233                  QuKeybd.c \
234                  QuPntr.c \
235                  QuStipShp.c \
236                  QuTextE16.c \
237                  QuTextExt.c \
238                  QuTileShp.c \
239                  QuTree.c \
240                  RaiseWin.c \
241                  RdBitF.c \
242                  RecolorC.c \
243                  ReconfWin.c \
244                  ReconfWM.c \
245                  Region.c \
246                  RegstFlt.c \
247                  RepWindow.c \
248                  RestackWs.c \
249                  RotProp.c \
250                  ScrResStr.c \
251                  SelInput.c \
252                  SendEvent.c \
253                  SetBack.c \
254                  SetClMask.c \
255                  SetClOrig.c \
256                  SetCRects.c \
257                  SetDashes.c \
258                  SetFont.c \
259                  SetFore.c \
260                  SetFPath.c \
261                  SetFunc.c \
262                  SetHints.c \
263                  SetIFocus.c \
264                  SetLocale.c \
265                  SetLStyle.c \
266                  SetNrmHint.c \
267                  SetPMask.c \
268                  SetPntMap.c \
269                  SetRGBCMap.c \
270                  SetSOwner.c \
271                  SetSSaver.c \
272                  SetState.c \
273                  SetStCmap.c \
274                  SetStip.c \
275                  SetTile.c \
276                  SetTSOrig.c \
277                  SetTxtProp.c \
278                  SetWMCMapW.c \
279                  SetWMProto.c \
280                  StBytes.c \
281                  StColor.c \
282                  StColors.c \
283                  StName.c \
284                  StNColor.c \
285                  StrKeysym.c \
286                  StrToText.c \
287                  Sync.c \
288                  Synchro.c \
289                  Text16.c \
290                  Text.c \
291                  TextExt16.c \
292                  TextExt.c \
293                  TextToStr.c \
294                  TrCoords.c \
295                  UndefCurs.c \
296                  UngrabBut.c \
297                  UngrabKbd.c \
298                  UngrabKey.c \
299                  UngrabPtr.c \
300                  UngrabSvr.c \
301                  UninsCmap.c \
302                  UnldFont.c \
303                  UnmapSubs.c \
304                  UnmapWin.c \
305                  utlist.h \
306                  VisUtil.c \
307                  WarpPtr.c \
308                  Window.c \
309                  WinEvent.c \
310                  Withdraw.c \
311                  WMGeom.c \
312                  WMProps.c \
313                  WrBitF.c \
314                  Xatomtype.h \
315                  Xintatom.h \
316                  Xintconn.h \
317                  XlibAsync.c \
318                  XlibInt.c \
319                  Xprivate.h \
320                  XomGeneric.h \
321                  Xresinternal.h \
322                  Xrm.c \
323                  XrmI.h
324
325#
326# ========================= Extra stuff ============================
327#
328
329if OS2
330libX11_la_SOURCES+=os2Stubs.c
331endif OS2
332
333if UDC
334libX11_la_SOURCES+=udcInf.c
335endif
336
337if THRSTUBS
338libX11_la_SOURCES+=UIThrStubs.c
339endif
340
341x11datadir = @X11_DATADIR@
342x11data_DATA = XKeysymDB XErrorDB
343
344EXTRA_DIST = \
345	$(x11data_DATA) \
346	os2Stubs.c \
347	udcInf.c \
348	UIThrStubs.c 
349
350if XCB
351libX11_la_SOURCES += \
352                  xcb_disp.c \
353                  xcb_io.c \
354                  Xxcbint.h
355
356lib_LTLIBRARIES += libX11-xcb.la
357libX11_xcb_la_SOURCES = x11_xcb.c Xxcbint.h
358libX11_xcb_la_LDFLAGS = -version-info 1:0:0 -no-undefined
359libX11_xcb_la_LIBADD = libX11.la
360else
361libX11_la_SOURCES += \
362                  ConnDis.c \
363                  x11_trans.c
364endif
365
366#
367# Figure out which sub-libraries to link into Xlib
368#
369
370if XLOCALE
371USE_I18N_LIBS = $(I18N_LIBS)
372endif
373
374if XCMS
375USE_XCMS_LIBS = $(XCMS_LIBS)
376endif
377
378if XKB
379USE_XKB_LIBS = $(XKB_LIBS)
380endif
381
382libX11_la_LDFLAGS = -version-number 6:3:0 -no-undefined
383
384libX11_la_LIBADD = \
385	$(USE_I18N_LIBS) \
386	$(USE_XCMS_LIBS) \
387	$(USE_XKB_LIBS) \
388	$(X11_LIBS) \
389	$(XDMCP_LIBS)
390
391preprocess: $(patsubst %.c,%.ii,$(libX11_la_SOURCES))
392.c.ii:
393	$(COMPILE) -E -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
394
395if LINT
396# Check source code with tools like lint & sparse
397
398ALL_LINT_FLAGS=$(LINT_FLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
399		$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS)
400
401lint:	$(BUILT_SOURCES)
402	for f in $(libX11_la_SOURCES) ; do \
403		$(LINT) $(ALL_LINT_FLAGS) $$f ; \
404	done
405	@for subdir in $(SUBDIRS) ; do \
406		echo "Making $@ in src/$$subdir"; \
407		(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) lint) ; \
408	done
409endif LINT
410
411if MAKE_LINT_LIB
412lintlibdir = $(libdir)
413
414lintlib_DATA = $(LINTLIB)
415
416lintlib_src = $(libX11_la_SOURCES) xcms/*.c xkb/*.c
417
418CLEANFILES += $(lintlib_DATA)
419
420$(LINTLIB): $(libX11_la_SOURCES)
421	$(AM_V_GEN)$(LINT) -y -oX11 -x $(ALL_LINT_FLAGS) $(lintlib_src)
422endif MAKE_LINT_LIB
423
424#
425# Building ks_tables.h requires the makekeys utility
426#
427
428KEYSYMDEF=@KEYSYMDEF@
429
430ks_tables.h: $(KEYSYMDEF) $(top_builddir)/src/util/makekeys$(EXEEXT)
431	$(top_builddir)/src/util/makekeys < $(KEYSYMDEF) > ks_tables_h
432	mv ks_tables_h $@
433
434$(top_builddir)/src/util/makekeys$(EXEEXT): force
435	cd util && $(MAKE)
436
437force:
438