summaryrefslogtreecommitdiffstats
path: root/src/config/ibmLib.rules
blob: 26c22f18968d1c548b80b27fb8d3ea43a2e04c18 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/* Rules to generate an AIX 3 shared library.  */

/* Generate a null rule for libfoo.a so that "make libfoo.a" will work
   on all systems to bring libfoo.a up to date (BSD systems would run
   ranlib).  */

#define	IBMSharedLibraryTarget(tdeps,libname,ldeps)			@@\
lib/**/libname.a::							@@\
libname.o: tdeps							@@\
	$(RM) libname.o							@@\
	ld -o libname.o lib/**/libname.a -H512 -T512 -bM\:SRE -bE\:$(SRCDIR)exports.libname ldeps -lc @@\
	$(RM) shared/lib/**/libname.a					@@\
	$(ARADD) shared/lib/**/libname.a libname.o			@@\
clean::									@@\
	$(RM) lib/**/libname.a shared/lib/**/libname.a libname.o

#define	RanlibLibraryTarget(libname,deps)				@@\
AllTarget(lib/**/libname.a)						@@\
IBMSharedLibraryTarget(foo/**/libname,libname,deps)

#define	AdditiveLibraryTarget(libname,objlist,deps)			@@\
AllTarget(lib/**/libname.a)						@@\
AllTarget(libname.o)							@@\
AllTarget(foo/**/libname)						@@\
DependTarget()								@@\
									@@\
foo/**/libname: objlist							@@\
	$(ARADD) lib/**/libname.a objlist				@@\
	$(TOUCH) foo/**/libname						@@\
IBMSharedLibraryTarget(lib/**/libname.a,libname,deps)			@@\
clean::									@@\
	$(RM_CMD) foo/**/libname


#define	SharedLibraryTarget(libname,ldeps)				@@\
IBMSharedLibraryTarget(lib/**/libname.a,libname,ldeps)