Makefile.am revision 0f8248bf
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                  pathmax.h \
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                  xcb_disp.c \
316                  xcb_io.c \
317                  Xintatom.h \
318                  Xintconn.h \
319                  XlibAsync.c \
320                  XlibInt.c \
321                  Xprivate.h \
322                  XomGeneric.h \
323                  Xresinternal.h \
324                  Xrm.c \
325                  Xxcbint.h
326
327#
328# ========================= Extra stuff ============================
329#
330
331if OS2
332libX11_la_SOURCES+=os2Stubs.c
333endif OS2
334
335if THRSTUBS
336libX11_la_SOURCES+=UIThrStubs.c
337endif
338
339x11datadir = @X11_DATADIR@
340x11data_DATA = XErrorDB
341
342EXTRA_DIST = \
343	$(x11data_DATA) \
344	os2Stubs.c \
345	UIThrStubs.c 
346
347libX11_xcb_la_SOURCES = x11_xcb.c Xxcbint.h
348libX11_xcb_la_LDFLAGS = -version-number 1:0:0 -no-undefined
349libX11_xcb_la_LIBADD = libX11.la
350
351#
352# Figure out which sub-libraries to link into Xlib
353#
354
355if XLOCALE
356USE_I18N_LIBS = $(I18N_LIBS)
357endif
358
359if XCMS
360USE_XCMS_LIBS = $(XCMS_LIBS)
361endif
362
363if XKB
364USE_XKB_LIBS = $(XKB_LIBS)
365endif
366
367libX11_la_LDFLAGS = -version-number 6:3:0 -no-undefined
368
369libX11_la_LIBADD = \
370	$(USE_I18N_LIBS) \
371	$(USE_XCMS_LIBS) \
372	$(USE_XKB_LIBS) \
373	$(X11_LIBS)
374
375preprocess: $(patsubst %.c,%.ii,$(libX11_la_SOURCES))
376.c.ii:
377	$(COMPILE) -E -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
378
379if LINT
380# Check source code with tools like lint & sparse
381
382ALL_LINT_FLAGS=$(LINT_FLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
383		$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS)
384ALL_LINT_FLAGS += -DXCMSDIR=\"$(X11dir)\"
385
386lint:	$(BUILT_SOURCES)
387	for f in $(libX11_la_SOURCES) ; do \
388		$(LINT) $(ALL_LINT_FLAGS) $$f ; \
389	done
390	@for subdir in $(SUBDIRS) ; do \
391		echo "Making $@ in src/$$subdir"; \
392		(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) lint) ; \
393	done
394endif LINT
395
396if MAKE_LINT_LIB
397lintlibdir = $(libdir)
398
399lintlib_DATA = $(LINTLIB)
400
401lintlib_src = $(libX11_la_SOURCES) $(srcdir)/xcms/*.c $(srcdir)/xkb/*.c
402
403CLEANFILES += $(lintlib_DATA)
404
405$(LINTLIB): $(libX11_la_SOURCES)
406	$(AM_V_GEN)$(LINT) -y -oX11 -x $(ALL_LINT_FLAGS) $(lintlib_src)
407endif MAKE_LINT_LIB
408
409#
410# Building ks_tables.h requires the makekeys utility
411#
412
413KEYSYMDEFS=@KEYSYMDEFS@
414
415ks_tables.h: $(KEYSYMDEFS) $(top_builddir)/src/util/makekeys$(EXEEXT)
416	$(top_builddir)/src/util/makekeys $(KEYSYMDEFS) > ks_tables_h
417	mv ks_tables_h $@
418
419$(top_builddir)/src/util/makekeys$(EXEEXT): force
420	cd util && $(MAKE)
421
422force:
423