1 XCOMM $XConsortium: xf86.rules /main/9 1996/10/31 14:54:26 kaleb $
2 XCOMM $XFree86: xc/config/cf/xf86.rules,v 3.16.2.1 1997/05/18 12:00:01 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) @@\
17 $(AS) -o $*.o $*.i @@\
21 #ifndef NormalAsmObjectRule
22 #define NormalAsmObjectRule() @@\
24 AssembleObject($(_NOOP_)) @@\
27 CPPOnlyAsm($*,$(_NOOP_))
30 #ifndef ObjectFromSpecialAsmSource
31 #define ObjectFromSpecialAsmSource(dst,src,flags) @@\
37 AssembleObject(flags) @@\
40 CPPOnlyAsm(dst,flags) @@\
48 #ifndef ObjectFromAsmSource
49 #define ObjectFromAsmSource(src,flags) @@\
52 AssembleObject(flags) @@\
55 CPPOnlyAsm(dst,flags) @@\
60 #ifndef ObjectMapIncludeFromSpecialSource
61 #define ObjectMapIncludeFromSpecialSource(dst,src,flags) @@\
64 echo "#include \"mfbmap.h\"" > $@ @@\
65 echo "#include \"$?\"" >> $@ @@\
67 SpecialCObjectRule(dst,NullParameter,flags) @@\
77 * Rules for building config files from scripts
81 # define Depend depend
84 #ifndef ConfigTargetLong
85 #define ConfigTargetLong(target,dep,script,args,extra) @@\
88 Configure:: target.o @@\
90 target.c: script dep @@\
91 $(MAKE) $(MFLAGS) Makefile @@\
92 $(MAKE) $(MFLAGS) extra Concat(Build,target) @@\
94 Concat(Build,target): @@\
96 $(SHELL) script args @@\
102 #define ConfigTarget(target,dep,script,args) ConfigTargetLong(target,dep,script,args,Depend)
104 #define ConfigTargetNoDepend(target,dep,script,args) ConfigTargetLong(target,dep,script,args,)
109 * Rules for installing LinkKit parts (target is install.linkkit)
112 #ifndef InstallLinkKitNonExecFile
113 #define InstallLinkKitNonExecFile(file,dest) @@\
114 install.linkkit:: file @@\
115 MakeDir($(DESTDIR)dest) @@\
116 $(INSTALL) -c $(INSTDATFLAGS) file $(DESTDIR)dest
119 #ifndef InstallLinkKitLibrary
120 #define InstallLinkKitLibrary(libname,dest) @@\
121 install.linkkit:: Concat(lib,libname.a) @@\
122 MakeDir($(DESTDIR)dest) @@\
123 $(INSTALL) -c $(INSTLIBFLAGS) Concat(lib,libname.a) $(DESTDIR)dest @@\
124 RanLibrary($(RANLIBINSTFLAGS) Concat($(DESTDIR)dest/lib,libname.a))
127 #ifndef InstallLinkKitNamedLibrary
128 #define InstallLinkKitNamedLibrary(libname,dlibname,dest) @@\
129 install.linkkit:: Concat(lib,libname.a) @@\
130 MakeDir($(DESTDIR)dest) @@\
131 $(INSTALL) -c $(INSTLIBFLAGS) Concat(lib,libname.a) \ @@\
132 Concat($(DESTDIR)dest/lib,dlibname.a) @@\
133 RanLibrary($(RANLIBINSTFLAGS) Concat($(DESTDIR)dest/lib,dlibname.a))
136 #ifndef InstallLinkKitNamedNonExec
137 #define InstallLinkKitNamedNonExec(srcname,dstname,dest) @@\
138 install.linkkit:: srcname @@\
139 MakeDir($(DESTDIR)dest) @@\
140 $(INSTALL) -c $(INSTDATFLAGS) srcname $(DESTDIR)dest/dstname
143 #ifndef InstallLinkKitNamedProg
144 #define InstallLinkKitNamedProg(srcname,dstname,dest) @@\
145 install.linkkit:: srcname @@\
146 MakeDir($(DESTDIR)dest) @@\
147 $(INSTALL) -c $(INSTBINFLAGS) srcname $(DESTDIR)dest/dstname
150 #ifndef InstallLinkKitSubdirs
151 #define InstallLinkKitSubdirs(dirs) \
152 NamedTargetSubdirs(install.linkkit,dirs,"installing link kit",DESTDIR='$(DESTDIR)',install.linkkit)
155 #ifndef InstallLinkKitMultipleDestFlags
156 #define InstallLinkKitMultipleDestFlags(list,dest,flags) \
157 InstallMultipleDestFlags(install.linkkit,list,dest,flags)
160 #endif /* !XF86LinkKit */
163 * DynamicModuleTarget - build a module to be dynamically loaded
165 #ifndef DynamicModuleTarget
166 #define DynamicModuleTarget(module,modlist) @@\
167 AllTarget(module) @@\
171 $(LD) -o $@ $(SHLIBLDFLAGS) modlist @@\
175 #endif /* DynamicModuleTarget */
178 * InstallDynamicModule - install a dynamic module
180 #ifndef InstallDynamicModule
181 #define InstallDynamicModule(module,dest) @@\
183 MakeDir($(DESTDIR)dest) @@\
184 $(INSTALL) -c module $(DESTDIR)dest