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