summaryrefslogtreecommitdiff
path: root/hw/xfree86/Makefile.am
blob: 64c4f7456ee0e00b26875cf8ca81bf5ca3f44a0d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150

if DRI
DRI_SUBDIR = dri
DRI_LIB = dri/libdri.la
endif

if DRI2
DRI2_SUBDIR = dri2
DRI2_LIB = dri2/libdri2.la
endif

if DRI3
DRI3_BUILDDIR = $(top_builddir)/dri3
DRI3_LIB = $(DRI3_BUILDDIR)/libdri3.la
endif

if GLAMOR_EGL
GLAMOR_EGL_SUBDIR = glamor_egl
endif

if XF86UTILS
XF86UTILS_SUBDIR = utils
endif

if VGAHW
VGAHW_SUBDIR = vgahw
endif

if VBE
VBE_SUBDIR = vbe
endif

if INT10MODULE
INT10_SUBDIR = int10
endif

SUBDIRS = common ddc x86emu $(INT10_SUBDIR) os-support parser \
	  ramdac $(VGAHW_SUBDIR) loader modes $(DRI_SUBDIR) \
	  $(DRI2_SUBDIR) . $(VBE_SUBDIR) i2c dixmods \
	  fbdevhw shadowfb exa $(XF86UTILS_SUBDIR) doc man \
	  $(GLAMOR_EGL_SUBDIR) drivers

DIST_SUBDIRS = common ddc i2c x86emu int10 fbdevhw os-support \
               parser ramdac shadowfb vbe vgahw \
               loader dixmods dri dri2 exa modes \
	       utils doc man glamor_egl drivers

bin_PROGRAMS = Xorg
nodist_Xorg_SOURCES = sdksyms.c

AM_CFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@
AM_CPPFLAGS = $(XORG_INCS) -I$(srcdir)/parser \
	-I$(srcdir)/ddc -I$(srcdir)/i2c -I$(srcdir)/modes -I$(srcdir)/ramdac \
	-I$(srcdir)/dri -I$(srcdir)/dri2 -I$(top_srcdir)/dri3

LOCAL_LIBS = \
            $(MAIN_LIB) \
            $(XSERVER_LIBS) \
            loader/libloader.la \
            common/libcommon.la \
            os-support/libxorgos.la \
            parser/libxf86config.la \
            dixmods/libdixmods.la \
            modes/libxf86modes.la \
            ramdac/libramdac.la \
            ddc/libddc.la \
            i2c/libi2c.la \
            $(XORG_LIBS) \
            dixmods/libxorgxkb.la \
            $(DRI_LIB) \
            $(DRI2_LIB) \
	    $(DRI3_LIB) \
	    $(top_builddir)/miext/sync/libsync.la \
            $(top_builddir)/mi/libmi.la \
            $(top_builddir)/os/libos.la
Xorg_LDADD = \
            $(LOCAL_LIBS) \
            $(XORG_SYS_LIBS) \
            $(XSERVER_SYS_LIBS)
Xorg_DEPENDENCIES = $(LOCAL_LIBS)

Xorg_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)

if SUID_WRAPPER
wrapdir = $(SUID_WRAPPER_DIR)
wrap_PROGRAMS = Xorg.wrap
Xorg_wrap_SOURCES = xorg-wrapper.c
endif

BUILT_SOURCES = xorg.conf.example
DISTCLEANFILES = xorg.conf.example
EXTRA_DIST = xorgconf.cpp

# Without logdir, X will post an error on the terminal and will not start
install-data-local:
	$(AM_V_GEN)$(MKDIR_P) $(DESTDIR)$(logdir)
if CYGWIN
	$(INSTALL_DATA) libXorg.exe.a $(DESTDIR)$(libdir)/libXorg.exe.a
endif

install-exec-hook:
	(cd $(DESTDIR)$(bindir) && rm -f X && $(LN_S) Xorg$(EXEEXT) X)
if INSTALL_SETUID
	chown root $(DESTDIR)$(bindir)/Xorg
	chmod u+s $(DESTDIR)$(bindir)/Xorg
endif
if SUID_WRAPPER
	$(MKDIR_P) $(DESTDIR)$(SUID_WRAPPER_DIR)
	mv $(DESTDIR)$(bindir)/Xorg $(DESTDIR)$(SUID_WRAPPER_DIR)/Xorg
	${INSTALL} -m 755 Xorg.sh $(DESTDIR)$(bindir)/Xorg
	-chown root $(DESTDIR)$(SUID_WRAPPER_DIR)/Xorg.wrap && chmod u+s $(DESTDIR)$(SUID_WRAPPER_DIR)/Xorg.wrap
endif

uninstall-local:
if CYGWIN
	$(AM_V_at)rm -f $(DESTDIR)$(libdir)/libXorg.exe.a
endif

uninstall-hook:
	$(AM_V_at)rm -f $(DESTDIR)$(bindir)/X

# Use variables from XORG_MANPAGE_SECTIONS and X Server configuration
# Do not include manpages.am as values are not appropriate for rc files
CONF_SUBSTS =	-e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g' \
		-e 's|MODULEPATH|$(DEFAULT_MODULE_PATH)|g' \
		-e 's|DEFAULTFONTPATH|$(COMPILEDDEFAULTFONTPATH)|g'

xorg.conf.example: xorgconf.cpp
	$(AM_V_GEN)$(SED) $(CONF_SUBSTS) < $(srcdir)/xorgconf.cpp > $@

relink:
	$(AM_V_at)rm -f Xorg$(EXEEXT) && $(MAKE) Xorg$(EXEEXT)

CLEANFILES = sdksyms.c sdksyms.dep Xorg.sh
EXTRA_DIST += sdksyms.sh

sdksyms.dep sdksyms.c: sdksyms.sh
	$(AM_V_GEN)CPP='$(CPP)' AWK='$(AWK)' $(SHELL) $(srcdir)/sdksyms.sh $(top_srcdir) $(CFLAGS) $(AM_CFLAGS) $(AM_CPPFLAGS)

SDKSYMS_DEP = sdksyms.dep
-include $(SDKSYMS_DEP)

i2c/libi2c.la:
	$(AM_V_at)cd i2c && $(MAKE) libi2c.la

dixmods/libdixmods.la:
	$(AM_V_at)cd dixmods && $(MAKE) libdixmods.la

dixmods/libxorgxkb.la:
	$(AM_V_at)cd dixmods && $(MAKE) libxorgxkb.la