2 # DMakeFile for asyncio library. Both shared library and normal library models.
5 # Does not generate all flavors; only the basic ones:
6 # Normal arguments, smalldata
7 # Registered arguments, smalldata
9 # Should be easy to modify below to generate other flavors, if needed.
12 SRC = CloseAsync.c OpenAsync.c OpenAsyncFH.c OpenAsyncFromFH.c PeekAsync.c \
13 ReadAsync.c ReadCharAsync.c ReadLineAsync.c RecordAsyncFailure.c \
14 RequeuePacket.c SeekAsync.c SendPacket.c WaitPacket.c WriteAsync.c \
15 WriteCharAsync.c WriteLineAsync.c FGetsLenAsync.c
17 OBJ = $(SRC:*.?:o/*.o)
19 PRAGMA = /include/pragmas/asyncio_pragmas.h
20 FD = /include/fd/asyncio_lib.fd
22 # Generate all "normal" flavors
24 All : /libs/asyncio.library $(PRAGMA) \
25 /dlib/asynciolibs.lib /dlib/asynciolibsr.lib /dlib/asyncios.lib /dlib/asynciosr.lib \
26 /lib/asyncio.lib /lib/asyncior.lib
28 asio : /libs/asyncio.library
35 # The only difference when making the shared library is that Lib.c is included
36 # (MUST be first), and that ASIO_SHARED_LIB is defined. It only affects another
37 # define in the (private) include file async.h
39 /libs/asyncio.library : Lib.o $(OBJ)
40 Sc LINK TO %(left) %(right)
42 Lib.o $(OBJ) : Lib.c $(SRC)
43 Sc DEF ASIO_SHARED_LIB UTILLIB OBJNAME %(left) %(right)
46 # Normal link libraries
48 /lib/asyncio.lib : $(SRC:*.c:ol/*.o) AsyncLib.o AsyncLibVer.o
49 Sc OBJLIB %(left) %(right)
51 $(SRC:*.c:ol/*.o) : $(SRC)
52 Sc PARAMS STACK OBJNAME %(left) %(right)
54 /lib/asyncior.lib : $(SRC:*.c:olr/*.o) AsyncLib.o AsyncLibVer.o
55 Sc OBJLIB %(left) %(right)
57 $(SRC:*.c:olr/*.o) AsyncLib.o AsyncLibVer.o : $(SRC) AsyncLib.c AsyncLibVer.c
58 Sc DEF ASIO_REGARGS OBJNAME %(left) %(right)
63 # Keep the pragma file up to date
66 FDTOPragma -o%(left) %(right)
69 # Link libraries for use with the shared version of the library. Only needed if
70 # the -mi option isn't used, or you use the autoinit stuff.
72 /dlib/asynciolibs.lib : $(FD)
73 FDToLib -o%(left) %(right) -auto asyncio.library
75 /dlib/asynciolibsr.lib : $(FD)
76 FDToLib -o%(left) %(right) -mr -hasynciolibsr.h -auto asyncio.library
78 # Large data models of the above two libraries. Not generated per default.
80 /dlib/asynciolibs.lib : $(FD)
81 FDToLib -o%(left) %(right) -auto asyncio.library -md
83 /dlib/asynciolibsr.lib : $(FD)
84 FDToLib -o%(left) %(right) -mr -hasynciolibsr.h -auto asyncio.library -md
87 # Here the normal link library versions are generated. See lib.def for more information.
95 # Other flavours, not generated per default
100 /dlib/asynciorl.lib :
103 /dlib/asyncioes.lib :
106 /dlib/asyncioesr.lib :
109 /dlib/asyncioel.lib :
112 /dlib/asyncioelr.lib :
115 /dlib/asynciolp.lib :
118 /dlib/asynciolrp.lib :
121 /dlib/asyncioesp.lib :
124 /dlib/asyncioesrp.lib :
125 LbMake asyncio s r p e
127 /dlib/asyncioelp.lib :
130 /dlib/asyncioelrp.lib :
131 LbMake asyncio l r p e
133 /dlib/asynciosp.lib :
136 /dlib/asynciosrp.lib :
140 # SAS versions of some of the above
142 /lib/asyncioer.lib : $(SRC:*.c:oler/*.o) AsyncLib.o
143 Sc OBJLIB %(left) %(right)
145 $(SRC:*.c:oler/*.o) : $(SRC)
146 Sc DEF ASIO_NOEXTERNALS DEF ASIO_REGARGS OBJNAME %(left) %(right)
148 /lib/asyncioe.lib : $(SRC:*.c:ole/*.o) AsyncLib.o
149 Sc OBJLIB %(left) %(right)
151 $(SRC:*.c:ole/*.o) : $(SRC)
152 Sc PARAMS STACK DEF ASIO_NOEXTERNALS OBJNAME %(left) %(right)
155 # Some other "odd" SAS/C link library versions. "u" means that UtilityBase
156 # is needed, and "2" means 020+ compiled.
158 /lib/asyncioru.lib : $(SRC:*.c:olru/*.o) AsyncLib.o
159 Sc OBJLIB %(left) %(right)
161 $(SRC:*.c:olru/*.o) : $(SRC)
162 Sc UTILLIB DEF ASIO_REGARGS OBJNAME %(left) %(right)
164 /lib/asyncioru2.lib : $(SRC:*.c:olru2/*.o) AsyncLib.o
165 Sc DEF ASIO_REGARGS OBJLIB %(left) %(right)
167 $(SRC:*.c:olru2/*.o) : $(SRC)
168 Sc UTILLIB CPU 68020 DEF ASIO_REGARGS OBJNAME %(left) %(right)