111d341caSmrgXCOMM $Xorg: necLib.rules,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
211d341caSmrg
311d341caSmrg/*
411d341caSmrg * NECOS shared library rules
511d341caSmrg */
611d341caSmrg
711d341caSmrgXCOMM $XFree86: xc/config/cf/necLib.rules,v 1.2 1999/01/11 05:13:07 dawes Exp $
811d341caSmrg
911d341caSmrg#ifndef HasSharedLibraries
1011d341caSmrg#define HasSharedLibraries YES
1111d341caSmrg#endif
1211d341caSmrg#ifndef SharedDataSeparation
1311d341caSmrg#define SharedDataSeparation YES
1411d341caSmrg#endif
1511d341caSmrg#ifndef SharedCodeDef
1611d341caSmrg#define SharedCodeDef
1711d341caSmrg#endif
1811d341caSmrg#ifndef SharedLibraryDef
1911d341caSmrg#define SharedLibraryDef
2011d341caSmrg#endif
2111d341caSmrg#ifndef ShLibIncludeFile
2211d341caSmrg#define ShLibIncludeFile <necLib.tmpl>
2311d341caSmrg#endif
2411d341caSmrg#ifndef SharedLibraryLoadFlags
2511d341caSmrg#define SharedLibraryLoadFlags
2611d341caSmrg#endif
2711d341caSmrg#ifndef PositionIndependentCFlags
2811d341caSmrg#define PositionIndependentCFlags
2911d341caSmrg#endif
3011d341caSmrg
3111d341caSmrg
3211d341caSmrg#ifndef SeparateSharedCompile
3311d341caSmrg#define SeparateSharedCompile NO
3411d341caSmrg#endif
3511d341caSmrg
3611d341caSmrg#define SharedLibObjCompile(options) $(_NULLCMD_)
3711d341caSmrg
3811d341caSmrg/*
3911d341caSmrg * InstallSharedLibrary - generate rules to install the shared library.
4011d341caSmrg */
4111d341caSmrg#ifndef InstallSharedLibrary
4211d341caSmrg#define	InstallSharedLibrary(libname,rev,dest)				@@\
4311d341caSmrginstall:: Concat(lib,libname.so.rev) 					@@\
4411d341caSmrg	MakeDir($(DESTDIR)dest)						@@\
4511d341caSmrg	$(INSTALL) -c $(INSTLIBFLAGS) Concat(lib,libname.so.rev) $(DESTDIR)dest @@\
4611d341caSmrg	cd $(DESTDIR)/dest; $(LN) Concat(lib,libname.so.rev) Concat(lib,libname.so)	@@\
4711d341caSmrg
4811d341caSmrg#endif /* InstallSharedLibrary */
4911d341caSmrg
5011d341caSmrg/*
5111d341caSmrg * InstallSharedLibraryData - generate rules to install the shared library data
5211d341caSmrg */
5311d341caSmrg#ifndef InstallSharedLibraryData
5411d341caSmrg#define	InstallSharedLibraryData(libname,rev,dest)			@@\
5511d341caSmrginstall:: Concat(lib,libname.sa.rev)					@@\
5611d341caSmrg	MakeDir($(DESTDIR)dest)						@@\
5711d341caSmrg	$(INSTALL) -c $(INSTLIBFLAGS) Concat(lib,libname.sa.rev) $(DESTDIR)dest @@\
5811d341caSmrg	RanLibrary($(RANLIBINSTFLAGS) Concat($(DESTDIR)dest/lib,libname.sa.rev))
5911d341caSmrg
6011d341caSmrg#endif /* InstallSharedLibraryData */
6111d341caSmrg
6211d341caSmrg/*
6311d341caSmrg * SharedLibraryTarget - generate rules to create a shared library;
6411d341caSmrg * build it into a different name so that we do not hose people by having
6511d341caSmrg * the library gone for long periods.
6611d341caSmrg */
6711d341caSmrg#ifndef SharedLibraryTarget
6811d341caSmrg#define SharedLibraryTarget(libname,rev,solist,down,up)			@@\
6911d341caSmrgAllTarget(Concat(lib,libname.so.rev))					@@\
7011d341caSmrg									@@\
7111d341caSmrgConcat(lib,libname.so.rev):  solist $(EXTRALIBRARYDEPS)			@@\
7211d341caSmrg	$(RM) $@~							@@\
7311d341caSmrg	$(CC) -G -o $@~ $(SHLIBLDFLAGS) solist				@@\
7411d341caSmrg	$(RM) $@ 							@@\
7511d341caSmrg	$(MV) $@~ $@							@@\
7611d341caSmrg									@@\
7711d341caSmrgAllTarget(Concat(lib,libname.so))					@@\
7811d341caSmrg									@@\
7911d341caSmrgConcat(lib,libname.so):  Concat(lib,libname.so.rev)			@@\
8011d341caSmrg	$(RM) $@ 							@@\
8111d341caSmrg	$(LN) $? $@							@@\
8211d341caSmrg	LinkBuildLibrary($@)						@@\
8311d341caSmrg	LinkBuildLibrary(Concat(lib,libname.so))			@@\
8411d341caSmrg									@@\
8511d341caSmrgclean::									@@\
8611d341caSmrg	$(RM) Concat(lib,libname.so.rev)
8711d341caSmrg
8811d341caSmrg#endif /* SharedLibraryTarget */
8911d341caSmrg
9011d341caSmrg/*
9111d341caSmrg * SharedDepLibraryTarget - generate rules to create a shared library.
9211d341caSmrg */
9311d341caSmrg#ifndef SharedDepLibraryTarget
9411d341caSmrg#define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up)	@@\
9511d341caSmrgAllTarget(Concat(lib,libname.so.rev))					@@\
9611d341caSmrg									@@\
9711d341caSmrgConcat(lib,libname.so.rev):  deplist $(EXTRALIBRARYDEPS)		@@\
9811d341caSmrg	$(RM) $@~							@@\
9911d341caSmrg	$(CC) -G -o $@~ $(SHLIBLDFLAGS) solist				@@\
10011d341caSmrg	$(RM) $@ 							@@\
10111d341caSmrg	$(MV) $@~ $@							@@\
10211d341caSmrg									@@\
10311d341caSmrgAllTarget(Concat(lib,libname.so))					@@\
10411d341caSmrg									@@\
10511d341caSmrgConcat(lib,libname.so):  Concat(lib,libname.so.rev)			@@\
10611d341caSmrg	$(RM) $@ 							@@\
10711d341caSmrg	$(LN) $? $@							@@\
10811d341caSmrg	LinkBuildLibrary($@)						@@\
10911d341caSmrg	LinkBuildLibrary(Concat(lib,libname.so))			@@\
11011d341caSmrg									@@\
11111d341caSmrgclean::									@@\
11211d341caSmrg	$(RM) Concat(lib,libname.so.rev)
11311d341caSmrg
11411d341caSmrg#endif /* SharedDepLibraryTarget */
11511d341caSmrg
11611d341caSmrg/*
11711d341caSmrg * SharedLibraryDataTarget - generate rules to create shlib data file;
11811d341caSmrg */
11911d341caSmrg#ifndef SharedLibraryDataTarget
12011d341caSmrg#define SharedLibraryDataTarget(libname,rev,salist)			@@\
12111d341caSmrgAllTarget(Concat(lib,libname.sa.rev))					@@\
12211d341caSmrg									@@\
12311d341caSmrgConcat(lib,libname.sa.rev):  salist $(EXTRALIBRARYDEPS)			@@\
12411d341caSmrg	$(RM) $@							@@\
12511d341caSmrg	$(AR) $@ salist							@@\
12611d341caSmrg	RanLibrary($@)							@@\
12711d341caSmrg									@@\
12811d341caSmrgclean::									@@\
12911d341caSmrg	$(RM) Concat(lib,libname.sa.rev)
13011d341caSmrg
13111d341caSmrg#endif /* SharedLibraryDataTarget */
132