fix copy'n paste error
[buildroot.git] / package / xorg / xorg.mk
blobb3a30c06d9c703e2337b7d183ce2396331c77baa
1 #############################################################
3 # xorg X Window System
5 #############################################################
7 ifneq ($(strip $(BR2_PACKAGE_TINYX)),y)
8 ifeq ($(BR2_PACKAGE_XORG),y)
10 XORG_APPS:=xlsfonts/xlsfonts xmodmap/xmodmap xinit/startx \
11 xauth/xauth xinit/xinit xsetroot/xsetroot xset/xset \
12 mkfontscale/mkfontscale mkfontdir/mkfontdir \
13 setxkbmap/setxkbmap #xterm/xterm
15 XORG_LIBS:= Xft Xrender Xaw Xmu Xt Xcursor Xrandr Xi Xinerama Xfixes \
16 SM ICE Xpm Xp Xext X11 Xmuu Xxf86misc fontenc xkbfile
19 #############################################################
20 # Stuff below this line shouldn't need changes.
21 # if you do change, look in rxvt & matchbox for the impact!
22 #############################################################
24 # Where resources are found.
26 XORG_SOURCE:=X11R6.8.2-src.tar.bz2
27 XORG_SITE:=http://xorg.freedesktop.org/X11R6.8.2/src-single/
28 XORG_CAT:=$(BZCAT)
29 XORG_DIR:=$(BUILD_DIR)/xc
30 XORG_LDIR:=$(XORG_DIR)/lib
31 XORG_PROGS:=$(XORG_DIR)/programs
32 TARGET_BINX:=/usr/X11R6/bin
33 TARGET_LIBX:=/usr/X11R6/lib
34 XORG_BINX:=$(TARGET_DIR)$(TARGET_BINX)
35 XORG_LIBX:=$(TARGET_DIR)$(TARGET_LIBX)
36 XORG_CF:=$(XORG_DIR)/config/cf/cross.def
37 XORG_HOST_DEF:=$(XORG_DIR)/config/cf/host.def
40 DEJAVU_VERSION=2.14
41 DEJAVU_SOURCE=dejavu-ttf-$(DEJAVU_VERSION).tar.bz2
42 DEJAVU_CAT:=$(BZCAT)
43 DEJAVU_SITE=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/dejavu
44 DEJAVU_DIR:=$(BUILD_DIR)/dejavu-ttf-$(DEJAVU_VERSION)
46 # Install Xorg xserver
47 XSERVER_BINARY:=Xorg
48 XORG_XSERVER:=$(XORG_DIR)/programs/Xserver/$(XSERVER_BINARY)
49 TARGET_XSERVER:=$(XORG_BINX)/$(XSERVER_BINARY)
51 # figure out Xorg's idea of corresponding architecture name
52 ifeq ($(BR2_alpha),y)
53 XARCH=Alpha
54 endif
55 ifeq ($(BR2_arm),y)
56 XARCH=Arm32
57 endif
58 ifeq ($(BR2_armeb),y)
59 XARCH=Arm32
60 endif
61 ifeq ($(BR2_i386),y)
62 XARCH=i386
63 endif
64 ifeq ($(BR2_mips),y)
65 XARCH=Mips
66 endif
67 ifeq ($(BR2_mipsel),y)
68 XARCH=Mips
69 endif
70 ifeq ($(BR2_powerpc),y)
71 XARCH=Ppc
72 endif
73 ifeq ($(BR2_sparc),y)
74 XARCH=Sparc
75 endif
76 ifeq ($(BR2_x86_64),y)
77 XARCH=AMD64
78 endif
80 $(DL_DIR)/$(XORG_SOURCE):
81 $(WGET) -P $(DL_DIR) $(XORG_SITE)/$(XORG_SOURCE)
83 $(XORG_DIR)/.unpacked: $(DL_DIR)/$(XORG_SOURCE)
84 $(XORG_CAT) $(DL_DIR)/$(XORG_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
85 toolchain/patch-kernel.sh $(XORG_DIR) package/xorg/ \*.patch
86 touch $(XORG_DIR)/.unpacked
88 $(XORG_DIR)/.configured: $(XORG_DIR)/.unpacked
89 $(SED) 's:REPLACE_STAGING_DIR:$(STAGING_DIR):g' $(XORG_HOST_DEF)
90 $(SED) 's:REPLACE_GCCINC_DIR:$(shell $(TARGET_CROSS)gcc -print-file-name=include):g' $(XORG_CF)
91 $(SED) 's:REPLACE_STAGING_DIR:$(STAGING_DIR):g' $(XORG_CF)
92 $(SED) 's:REPLACE_ARCH:$(ARCH):g' $(XORG_CF)
93 $(SED) 's:#define StdIncDir.*:#define StdIncDir $(STAGING_DIR)/usr/include:g' $(XORG_CF)
94 $(SED) 's:#define CcCmd.*:#define CcCmd $(TARGET_CROSS)gcc:g' $(XORG_CF)
95 $(SED) 's:#define RanlibCmd.*:#define RanlibCmd $(TARGET_CROSS)ranlib:g' $(XORG_CF)
96 $(SED) 's:#define LdCmd.*:#define LdCmd $(TARGET_CROSS)ld:g' $(XORG_CF)
97 $(SED) 's:#.*define.*HasPam.*YES::g' $(XORG_DIR)/config/cf/linux.cf
98 $(SED) 's:#.*define.*CrossCompiling.*NO:#define CrossCompiling YES:g' $(XORG_DIR)/config/cf/Imake.tmpl
99 $(SED) 's:#.*undef.*CrossCompileDir.*:#define CrossCompileDir $(STAGING_DIR)/bin:g' $(XORG_DIR)/config/cf/Imake.tmpl
100 $(SED) 's:REPLACE_XORG_ARCH:$(XARCH):g' $(XORG_DIR)/config/cf/cross.def
101 touch $(XORG_DIR)/.configured
103 $(XORG_XSERVER): $(XORG_DIR)/.configured
104 rm -f $(TARGET_XSERVER) $(XORG_XSERVER)
105 ( cd $(XORG_DIR); $(MAKE) \
106 PKG_CONFIG=$(STAGING_DIR)/$(PKGCONFIG_TARGET_BINARY) \
107 World XCURSORGEN=xcursorgen MKFONTSCALE=mkfontscale )
108 touch -c $(XORG_XSERVER)
110 $(STAGING_DIR)$(TARGET_LIBX)/libX11.so.6.2: $(XORG_XSERVER)
111 mkdir -p $(STAGING_DIR)/usr/X11R6
112 ln -fs ../../include $(STAGING_DIR)/usr/X11R6/include
113 ln -fs ../../lib $(STAGING_DIR)$(TARGET_LIBX)
114 ( cd $(XORG_DIR); $(MAKE) \
115 DESTDIR=$(STAGING_DIR) install XCURSORGEN=xcursorgen MKFONTSCALE=mkfontscale )
116 cp package/xorg/x11.pc package/xorg/xext.pc \
117 package/xorg/xproto.pc package/xorg/kbproto.pc \
118 package/xorg/xau.pc package/xorg/xdmcp.pc \
119 package/xorg/xextproto.pc package/xorg/xrandr.pc \
120 package/xorg/xinerama.pc $(STAGING_DIR)/lib/pkgconfig
121 touch -c $(STAGING_DIR)$(TARGET_LIBX)/libX11.so.6.2
123 $(TARGET_XSERVER): $(XORG_XSERVER)
124 mkdir -p $(XORG_BINX)
125 for file in $(XORG_APPS); do \
126 cp -f $(XORG_DIR)/programs/$$file $(XORG_BINX); \
127 chmod a+x $(XORG_PROGS)/$$file; \
128 $(STRIPCMD) $(XORG_PROGS)/$$file || /bin/true; \
129 done
130 cp $(XORG_XSERVER) $(TARGET_XSERVER)
131 (cd $(XORG_BINX); ln -snf $(XSERVER_BINARY) X)
132 $(STRIPCMD) $(TARGET_XSERVER)
133 mkdir -p $(XORG_LIBX)/modules
134 cp -LRf $(XORG_DIR)/exports/lib/modules/ $(XORG_LIBX)/
135 ( cd $(XORG_DIR)/fonts; $(MAKE) \
136 DESTDIR=$(TARGET_DIR) install XCURSORGEN=xcursorgen MKFONTSCALE=mkfontscale )
137 cp -LRf $(XORG_DIR)/fonts/bdf/misc/7x14.bdf $(XORG_LIBX)/X11/fonts/misc/
138 cp -LRf $(XORG_DIR)/fonts/bdf/misc/7x14-L1.bdf $(XORG_LIBX)/X11/fonts/misc/
139 cp -LRf $(XORG_DIR)/fonts/bdf/misc/7x14B.bdf $(XORG_LIBX)/X11/fonts/misc/
140 cp -LRf $(XORG_DIR)/fonts/bdf/misc/7x14B-L1.bdf $(XORG_LIBX)/X11/fonts/misc/
141 cp -LRf $(XORG_DIR)/fonts/bdf/misc/cursor.bdf $(XORG_LIBX)/X11/fonts/misc/
142 cp -f package/xorg/fonts.alias $(XORG_LIBX)/X11/fonts/misc/
143 ( cd $(XORG_LIBX)/X11/fonts/misc/; mkfontdir )
144 rm -rf $(XORG_LIBX)/X11/fonts/100dpi
145 rm -rf $(XORG_LIBX)/X11/fonts/75dpi
146 rm -rf $(XORG_LIBX)/X11/fonts/cyrillic
147 rm -rf $(XORG_LIBX)/X11/fonts/local
148 (cd $(TARGET_DIR)/usr/bin; ln -snf $(TARGET_BINX) X11)
149 cp -LRf $(STAGING_DIR)$(TARGET_LIBX)/X11/xkb $(XORG_LIBX)/X11/
150 mv $(XORG_LIBX)/X11/xkb/xkbcomp $(XORG_BINX)/
151 (cd $(XORG_LIBX)/X11/xkb; ln -s ../../../bin/xkbcomp)
152 rm -rf $(XORG_LIBX)/X11/xkb/compiled
153 (cd $(XORG_LIBX)/X11/xkb; ln -s /tmp compiled)
154 cp -LRf $(STAGING_DIR)$(TARGET_LIBX)/X11/icons $(XORG_LIBX)/X11/
155 -cp -LRf $(STAGING_DIR)$(TARGET_LIBX)/X11/locale $(XORG_LIBX)/X11/
156 cp -LRf $(STAGING_DIR)$(TARGET_LIBX)/X11/rgb.txt $(XORG_LIBX)/X11/
157 cp -LRf $(STAGING_DIR)$(TARGET_LIBX)/X11/XKeysymDB $(XORG_LIBX)/X11/
158 cp -LRf $(STAGING_DIR)$(TARGET_LIBX)/X11/XErrorDB $(XORG_LIBX)/X11/
159 mkdir -p $(TARGET_DIR)/etc/X11/
160 $(SED) "s,^sysclientrc=.*,sysclientrc=/etc/X11/Xsession,g" $(XORG_BINX)/startx
161 $(SED) "s,^sysserverrc=.*,sysserverrc=/etc/X11/Xserver,g" $(XORG_BINX)/startx
162 cp -LRf package/xorg/xorg.conf $(TARGET_DIR)/etc/X11/
163 cp -LRf package/xorg/Xsession $(TARGET_DIR)/etc/X11/
164 cp -LRf package/xorg/Xserver $(TARGET_DIR)/etc/X11/
165 touch -c $(TARGET_XSERVER)
167 $(DL_DIR)/$(DEJAVU_SOURCE):
168 $(WGET) -P $(DL_DIR) $(DEJAVU_SITE)/$(DEJAVU_SOURCE)
170 $(DEJAVU_DIR)/.unpacked: $(DL_DIR)/$(DEJAVU_SOURCE)
171 $(DEJAVU_CAT) $(DL_DIR)/$(DEJAVU_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
172 touch $(DEJAVU_DIR)/.unpacked
174 $(XORG_LIBX)/X11/fonts/ttf-dejavu/DejaVuSansMono.ttf: $(DEJAVU_DIR)/.unpacked
175 mkdir -p $(XORG_LIBX)/X11/fonts/ttf-dejavu
176 rm -f $(DEJAVU_DIR)/*Condensed*.ttf
177 rm -f $(DEJAVU_DIR)/*ExtraLight*.ttf
178 cp -LRf $(DEJAVU_DIR)/DejaVu*-Bold.ttf $(XORG_LIBX)/X11/fonts/ttf-dejavu/
179 cp -LRf $(DEJAVU_DIR)/DejaVu*-BoldOblique.ttf $(XORG_LIBX)/X11/fonts/ttf-dejavu/
180 cp -LRf $(DEJAVU_DIR)/DejaVu*-Oblique.ttf $(XORG_LIBX)/X11/fonts/ttf-dejavu/
181 cp -LRf $(DEJAVU_DIR)/DejaVuSans.ttf $(XORG_LIBX)/X11/fonts/ttf-dejavu/
182 cp -LRf $(DEJAVU_DIR)/DejaVuSansMono.ttf $(XORG_LIBX)/X11/fonts/ttf-dejavu/
183 cp -LRf $(DEJAVU_DIR)/DejaVuSerif.ttf $(XORG_LIBX)/X11/fonts/ttf-dejavu/
184 cp -LRf $(DEJAVU_DIR)/DejaVuSerif.ttf $(XORG_LIBX)/X11/fonts/ttf-dejavu/
185 cp package/xorg/fonts.cache-1 $(XORG_LIBX)/X11/fonts/ttf-dejavu/
186 ( cd $(XORG_LIBX)/X11/fonts/ttf-dejavu/; mkfontdir )
187 touch -c $(XORG_LIBX)/X11/fonts/ttf-dejavu/DejaVuSansMono.ttf
189 $(XORG_LIBX)/libX11.so.6.2: $(TARGET_XSERVER) $(XORG_LIBX)/X11/fonts/ttf-dejavu/DejaVuSansMono.ttf
190 mkdir -p $(XORG_LIBX)
191 set -e; for dirs in $(XORG_LIBS); do \
192 file=`find $(XORG_LDIR)/$$dirs -type f -iname "*$$dirs.so*"`; \
193 $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $$file; \
194 cp -f $$file $(XORG_LIBX); \
195 file=`find $(XORG_LDIR)/$$dirs -type l -iname "*$$dirs.so*"`; \
196 cp -pRf $$file $(XORG_LIBX); \
197 done
198 (cd $(TARGET_DIR)/usr/lib; ln -snf $(TARGET_LIBX) X11)
199 touch $(TARGET_DIR)/etc/ld.so.conf
200 if [ "`grep -c '$(TARGET_LIBX)' $(TARGET_DIR)/etc/ld.so.conf`" = "0" ]; then \
201 echo "$(TARGET_LIBX)" >> $(TARGET_DIR)/etc/ld.so.conf; \
203 touch -c $(XORG_LIBX)/libX11.so.6.2
205 $(TARGET_DIR)/usr/bin/mcookie: package/xorg/mcookie.c
206 $(TARGET_CROSS)gcc -Wall -Os -s package/xorg/mcookie.c -o $(TARGET_DIR)/usr/bin/mcookie
208 xorg: zlib png pkgconfig expat fontconfig libdrm $(STAGING_DIR)$(TARGET_LIBX)/libX11.so.6.2 \
209 $(XORG_LIBX)/libX11.so.6.2 $(TARGET_DIR)/usr/bin/mcookie
211 xorg-source: $(DL_DIR)/$(XORG_SOURCE) $(DL_DIR)/$(DEJAVU_SOURCE)
213 xorg-clean:
214 -rm -rf $(TARGET_DIR)/usr/X11R6
215 -$(MAKE) -C $(XORG_DIR) clean
217 xorg-dirclean:
218 -rm -rf $(XORG_DIR)
219 -rm -rf $(TARGET_DIR)/usr/X11R6
221 #############################################################
223 # Toplevel Makefile options
225 #############################################################
226 TARGETS+=xorg
227 endif
228 endif