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 $
5 * These rules are needed to build the Xfree86 X Servers
9 #define CPPOnlyAsm(basename,options) RemoveFile(basename.i) @@\
10 $(CPP) AsmDefines $(DEFINES) $(INCLUDES) options basename.s | \ @@\
11 grep -v '^\#' > basename.i
14 #ifndef AssembleObject
15 #define AssembleObject(flags) CPPOnlyAsm($*,flags) @@\
16 $(AS) -o $*.o $*.i @@\
20 #ifndef NormalAsmObjectRule
21 #define NormalAsmObjectRule() @@\
23 AssembleObject($(_NOOP_)) @@\
26 CPPOnlyAsm($*,$(_NOOP_))
29 #ifndef ObjectFromSpecialAsmSource
30 #define ObjectFromSpecialAsmSource(dst,src,flags) @@\
36 AssembleObject(flags) @@\
39 CPPOnlyAsm(dst,flags) @@\
47 #ifndef ObjectFromAsmSource
48 #define ObjectFromAsmSource(src,flags) @@\
51 AssembleObject(flags) @@\
54 CPPOnlyAsm(dst,flags) @@\
59 #ifndef ObjectMapIncludeFromSpecialSource
60 #define ObjectMapIncludeFromSpecialSource(dst,src,flags) @@\
63 echo "#include \"mfbmap.h\"" > $@ @@\
64 echo "#include \"$?\"" >> $@ @@\
66 SpecialCObjectRule(dst,NullParameter,flags) @@\
76 * Rules for building config files from scripts
80 # define Depend depend
83 #ifndef ConfigTargetLong
84 #define ConfigTargetLong(target,dep,script,args,extra) @@\
87 Configure:: target.o @@\
89 target.c: script dep @@\
90 $(MAKE) $(MFLAGS) Makefile @@\
91 $(MAKE) $(MFLAGS) extra Concat(Build,target) @@\
93 Concat(Build,target): @@\
95 $(SHELL) script args @@\
101 #define ConfigTarget(target,dep,script,args) ConfigTargetLong(target,dep,script,args,Depend)
103 #define ConfigTargetNoDepend(target,dep,script,args) ConfigTargetLong(target,dep,script,args,)
108 * Rules for installing LinkKit parts (target is install.linkkit)
111 #ifndef InstallLinkKitNonExecFile
112 #define InstallLinkKitNonExecFile(file,dest) @@\
113 install.linkkit:: file @@\
114 MakeDir($(DESTDIR)dest) @@\
115 $(INSTALL) -c $(INSTDATFLAGS) file $(DESTDIR)dest
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))
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))
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
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
149 #ifndef InstallLinkKitSubdirs
150 #define InstallLinkKitSubdirs(dirs) \
151 NamedTargetSubdirs(install.linkkit,dirs,"installing link kit",DESTDIR='$(DESTDIR)',install.linkkit)
154 #ifndef InstallLinkKitMultipleDestFlags
155 #define InstallLinkKitMultipleDestFlags(list,dest,flags) \
156 InstallMultipleDestFlags(install.linkkit,list,dest,flags)
159 #endif /* !XF86LinkKit */
162 * DynamicModuleTarget - build a module to be dynamically loaded
164 #ifndef DynamicModuleTarget
165 #define DynamicModuleTarget(module,modlist) @@\
166 AllTarget(module) @@\
170 $(LD) -o $@ $(SHLIBLDFLAGS) modlist @@\
174 #endif /* DynamicModuleTarget */
177 * InstallDynamicModule - install a dynamic module
179 #ifndef InstallDynamicModule
180 #define InstallDynamicModule(module,dest) @@\
182 MakeDir($(DESTDIR)dest) @@\
183 $(INSTALL) -c module $(DESTDIR)dest