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