linux.cf: add libtirpc support. Disabled by default.
[oweals/cde.git] / cde / config / cf / xf86.rules
1 XCOMM $XConsortium: xf86.rules /main/9 1996/10/31 14:54:26 kaleb $
2 XCOMM $XFree86: xc/config/cf/xf86.rules,v 3.15 1996/09/24 13:48:46 dawes Exp $
3
4 /*
5  * These rules are needed to build the Xfree86 X Servers
6  */
7
8 #ifndef CPPOnlyAsm
9 #define CPPOnlyAsm(basename,options) RemoveFile(basename.i)             @@\
10         $(CPP) AsmDefines $(DEFINES) $(INCLUDES) options basename.s | \ @@\
11                 grep -v '^\#' > basename.i
12 #endif
13
14 #ifndef AssembleObject
15 #define AssembleObject(flags) CPPOnlyAsm($*,flags)                      @@\
16         $(AS) -o $*.o $*.i                                              @@\
17         RemoveFile($*.i)
18 #endif
19
20 #ifndef NormalAsmObjectRule
21 #define NormalAsmObjectRule()                                           @@\
22 .s.o:                                                                   @@\
23         AssembleObject($(_NOOP_))                                       @@\
24                                                                         @@\
25 .s.i:                                                                   @@\
26         CPPOnlyAsm($*,$(_NOOP_))
27 #endif
28
29 #ifndef ObjectFromSpecialAsmSource
30 #define ObjectFromSpecialAsmSource(dst,src,flags)                       @@\
31 dst.s:  src.s                                                           @@\
32         RemoveFile($@)                                                  @@\
33         $(LN) $? $@                                                     @@\
34                                                                         @@\
35 dst.o:  dst.s                                                           @@\
36         AssembleObject(flags)                                           @@\
37                                                                         @@\
38 dst.i:  dst.s                                                           @@\
39         CPPOnlyAsm(dst,flags)                                           @@\
40                                                                         @@\
41 depend:: dst.s                                                          @@\
42                                                                         @@\
43 clean::                                                                 @@\
44         RemoveFile(dst.s)
45 #endif
46
47 #ifndef ObjectFromAsmSource
48 #define ObjectFromAsmSource(src,flags)                                  @@\
49                                                                         @@\
50 src.o:  src.s                                                           @@\
51         AssembleObject(flags)                                           @@\
52                                                                         @@\
53 src.i:  src.s                                                           @@\
54         CPPOnlyAsm(dst,flags)                                           @@\
55                                                                         @@\
56 depend:: src.s
57 #endif
58
59 #ifndef ObjectMapIncludeFromSpecialSource
60 #define ObjectMapIncludeFromSpecialSource(dst,src,flags)                @@\
61 dst.c:  src.c                                                           @@\
62         RemoveFile($@)                                                  @@\
63         echo "#include \"mfbmap.h\"" > $@                               @@\
64         echo "#include \"$?\"" >> $@                                    @@\
65                                                                         @@\
66 SpecialCObjectRule(dst,NullParameter,flags)                             @@\
67                                                                         @@\
68 depend::        dst.c                                                   @@\
69                                                                         @@\
70 clean::                                                                 @@\
71         RemoveFile(dst.c)
72 #endif
73
74
75 /*
76  * Rules for building config files from scripts
77  */
78
79 #ifndef Depend
80 # define Depend depend
81 #endif
82  
83 #ifndef ConfigTargetLong
84 #define ConfigTargetLong(target,dep,script,args,extra)                  @@\
85 all:: Configure                                                         @@\
86                                                                         @@\
87 Configure:: target.o                                                    @@\
88                                                                         @@\
89 target.c: script dep                                                    @@\
90         $(MAKE) $(MFLAGS) Makefile                                      @@\
91         $(MAKE) $(MFLAGS) extra Concat(Build,target)                    @@\
92                                                                         @@\
93 Concat(Build,target):                                                   @@\
94         $(RM) target.c                                                  @@\
95         $(SHELL) script args                                            @@\
96                                                                         @@\
97 clean::                                                                 @@\
98         $(RM) target.c
99 #endif
100
101 #define ConfigTarget(target,dep,script,args) ConfigTargetLong(target,dep,script,args,Depend)
102
103 #define ConfigTargetNoDepend(target,dep,script,args) ConfigTargetLong(target,dep,script,args,)
104
105 #if !XF86LinkKit
106
107 /*
108  * Rules for installing LinkKit parts (target is install.linkkit)
109  */
110
111 #ifndef InstallLinkKitNonExecFile
112 #define InstallLinkKitNonExecFile(file,dest)                            @@\
113 install.linkkit:: file                                                  @@\
114         MakeDir($(DESTDIR)dest)                                         @@\
115         $(INSTALL) -c $(INSTDATFLAGS) file $(DESTDIR)dest
116 #endif
117
118 #ifndef InstallLinkKitLibrary
119 #define InstallLinkKitLibrary(libname,dest)                             @@\
120 install.linkkit:: Concat(lib,libname.a)                                 @@\
121         MakeDir($(DESTDIR)dest)                                         @@\
122         $(INSTALL) -c $(INSTLIBFLAGS) Concat(lib,libname.a) $(DESTDIR)dest @@\
123         RanLibrary($(RANLIBINSTFLAGS) Concat($(DESTDIR)dest/lib,libname.a))
124 #endif
125
126 #ifndef InstallLinkKitNamedLibrary
127 #define InstallLinkKitNamedLibrary(libname,dlibname,dest)               @@\
128 install.linkkit:: Concat(lib,libname.a)                                 @@\
129         MakeDir($(DESTDIR)dest)                                         @@\
130         $(INSTALL) -c $(INSTLIBFLAGS) Concat(lib,libname.a) \           @@\
131           Concat($(DESTDIR)dest/lib,dlibname.a)                         @@\
132         RanLibrary($(RANLIBINSTFLAGS) Concat($(DESTDIR)dest/lib,dlibname.a))
133 #endif
134
135 #ifndef InstallLinkKitNamedNonExec
136 #define InstallLinkKitNamedNonExec(srcname,dstname,dest)                @@\
137 install.linkkit:: srcname                                               @@\
138         MakeDir($(DESTDIR)dest)                                         @@\
139         $(INSTALL) -c $(INSTDATFLAGS) srcname $(DESTDIR)dest/dstname
140 #endif
141
142 #ifndef InstallLinkKitNamedProg
143 #define InstallLinkKitNamedProg(srcname,dstname,dest)                   @@\
144 install.linkkit:: srcname                                               @@\
145         MakeDir($(DESTDIR)dest)                                         @@\
146         $(INSTALL) -c $(INSTBINFLAGS) srcname $(DESTDIR)dest/dstname
147 #endif
148
149 #ifndef InstallLinkKitSubdirs
150 #define InstallLinkKitSubdirs(dirs) \
151 NamedTargetSubdirs(install.linkkit,dirs,"installing link kit",DESTDIR='$(DESTDIR)',install.linkkit)
152 #endif
153
154 #ifndef InstallLinkKitMultipleDestFlags
155 #define InstallLinkKitMultipleDestFlags(list,dest,flags) \
156 InstallMultipleDestFlags(install.linkkit,list,dest,flags)
157 #endif
158
159 #endif /* !XF86LinkKit */
160
161 /*
162  * DynamicModuleTarget - build a module to be dynamically loaded
163  */
164 #ifndef DynamicModuleTarget
165 #define DynamicModuleTarget(module,modlist)                             @@\
166 AllTarget(module)                                                       @@\
167                                                                         @@\
168 module: modlist                                                         @@\
169         RemoveFile($@)                                                  @@\
170         $(LD) -o $@ $(SHLIBLDFLAGS) modlist                             @@\
171                                                                         @@\
172 clean::                                                                 @@\
173         RemoveFile(module)
174 #endif /* DynamicModuleTarget */
175
176 /*
177  * InstallDynamicModule - install a dynamic module
178  */
179 #ifndef InstallDynamicModule
180 #define InstallDynamicModule(module,dest)                               @@\
181 install:: module                                                        @@\
182         MakeDir($(DESTDIR)dest)                                         @@\
183         $(INSTALL) -c module $(DESTDIR)dest
184 #endif
185