2 # iASL compiler/disassembler
6 # Note: This makefile is intended to be used from within the native
7 # ACPICA directory structure, from under generate/unix. It specifically
8 # places all object files in a generate/unix subdirectory, not within
9 # the various ACPICA source directories. This prevents collisions
10 # between different compilations of the same source file with different
11 # compile options, and prevents pollution of the source code.
13 include ../Makefile.config
14 FINAL_PROG = ../$(BINDIR)/iasl
18 # Search paths for source files
23 $(ACPICA_DISASSEMBLER) \
24 $(ACPICA_DISPATCHER) \
34 $(wildcard $(ASL_COMPILER)/*.h) \
35 $(OBJDIR)/aslcompiler.y.h \
36 $(OBJDIR)/dtparser.y.h \
37 $(OBJDIR)/prparser.y.h
40 $(OBJDIR)/aslcompilerlex.o \
41 $(OBJDIR)/aslcompilerparse.o \
42 $(OBJDIR)/dtparserlex.o \
43 $(OBJDIR)/dtparserparse.o \
44 $(OBJDIR)/prparserlex.o \
45 $(OBJDIR)/prparserparse.o \
49 $(OBJDIR)/ahpredef.o \
50 $(OBJDIR)/aslanalyze.o \
51 $(OBJDIR)/aslbtypes.o \
52 $(OBJDIR)/aslcodegen.o \
53 $(OBJDIR)/aslcompile.o \
54 $(OBJDIR)/aslerror.o \
55 $(OBJDIR)/aslfiles.o \
57 $(OBJDIR)/asllength.o \
58 $(OBJDIR)/asllisting.o \
60 $(OBJDIR)/asllookup.o \
63 $(OBJDIR)/aslopcodes.o \
64 $(OBJDIR)/asloperands.o \
66 $(OBJDIR)/aslpredef.o \
67 $(OBJDIR)/aslresource.o \
68 $(OBJDIR)/aslrestype1.o \
69 $(OBJDIR)/aslrestype1i.o \
70 $(OBJDIR)/aslrestype2.o \
71 $(OBJDIR)/aslrestype2d.o \
72 $(OBJDIR)/aslrestype2e.o \
73 $(OBJDIR)/aslrestype2q.o \
74 $(OBJDIR)/aslrestype2s.o \
75 $(OBJDIR)/aslrestype2w.o \
76 $(OBJDIR)/aslstartup.o \
77 $(OBJDIR)/aslstubs.o \
78 $(OBJDIR)/asltransform.o \
80 $(OBJDIR)/aslutils.o \
82 $(OBJDIR)/aslwalks.o \
83 $(OBJDIR)/dtcompile.o \
84 $(OBJDIR)/dtexpress.o \
87 $(OBJDIR)/dtsubtable.o \
89 $(OBJDIR)/dttemplate.o \
91 $(OBJDIR)/dbfileio.o \
92 $(OBJDIR)/dmbuffer.o \
93 $(OBJDIR)/dmdeferred.o \
94 $(OBJDIR)/dmextern.o \
96 $(OBJDIR)/dmobject.o \
97 $(OBJDIR)/dmopcode.o \
99 $(OBJDIR)/dmresrcl.o \
100 $(OBJDIR)/dmresrcl2.o \
101 $(OBJDIR)/dmresrcs.o \
102 $(OBJDIR)/dmrestag.o \
103 $(OBJDIR)/dmtable.o \
104 $(OBJDIR)/dmtbdump.o \
105 $(OBJDIR)/dmtbinfo.o \
106 $(OBJDIR)/dmutils.o \
109 $(OBJDIR)/dscontrol.o \
110 $(OBJDIR)/dsfield.o \
111 $(OBJDIR)/dsobject.o \
112 $(OBJDIR)/dsopcode.o \
113 $(OBJDIR)/dsutils.o \
114 $(OBJDIR)/dswexec.o \
115 $(OBJDIR)/dswload.o \
116 $(OBJDIR)/dswload2.o \
117 $(OBJDIR)/dswscope.o \
118 $(OBJDIR)/dswstate.o \
119 $(OBJDIR)/exconvrt.o \
120 $(OBJDIR)/excreate.o \
123 $(OBJDIR)/exmutex.o \
124 $(OBJDIR)/exnames.o \
125 $(OBJDIR)/exoparg1.o \
126 $(OBJDIR)/exoparg2.o \
127 $(OBJDIR)/exoparg3.o \
128 $(OBJDIR)/exoparg6.o \
130 $(OBJDIR)/exregion.o \
131 $(OBJDIR)/exresnte.o \
132 $(OBJDIR)/exresolv.o \
133 $(OBJDIR)/exresop.o \
134 $(OBJDIR)/exstore.o \
135 $(OBJDIR)/exstoren.o \
136 $(OBJDIR)/exstorob.o \
137 $(OBJDIR)/exsystem.o \
138 $(OBJDIR)/exutils.o \
140 $(OBJDIR)/nsaccess.o \
141 $(OBJDIR)/nsalloc.o \
143 $(OBJDIR)/nsnames.o \
144 $(OBJDIR)/nsobject.o \
145 $(OBJDIR)/nsparse.o \
146 $(OBJDIR)/nssearch.o \
147 $(OBJDIR)/nsutils.o \
149 $(OBJDIR)/nsxfobj.o \
150 $(OBJDIR)/osunixxf.o \
151 $(OBJDIR)/prexpress.o \
152 $(OBJDIR)/prmacros.o \
154 $(OBJDIR)/prutils.o \
157 $(OBJDIR)/psopcode.o \
158 $(OBJDIR)/psparse.o \
159 $(OBJDIR)/psscope.o \
161 $(OBJDIR)/psutils.o \
164 $(OBJDIR)/tbinstal.o \
165 $(OBJDIR)/tbutils.o \
166 $(OBJDIR)/tbxface.o \
167 $(OBJDIR)/utaddress.o \
168 $(OBJDIR)/utalloc.o \
169 $(OBJDIR)/utcache.o \
171 $(OBJDIR)/utdebug.o \
172 $(OBJDIR)/utdecode.o \
173 $(OBJDIR)/utdelete.o \
174 $(OBJDIR)/utexcep.o \
175 $(OBJDIR)/utglobal.o \
180 $(OBJDIR)/utmutex.o \
181 $(OBJDIR)/utobject.o \
182 $(OBJDIR)/utresrc.o \
183 $(OBJDIR)/utstate.o \
184 $(OBJDIR)/utxface.o \
185 $(OBJDIR)/utxferror.o
188 $(OBJDIR)/aslcompilerlex.c \
189 $(OBJDIR)/aslcompilerparse.c \
190 $(OBJDIR)/dtparserlex.c \
191 $(OBJDIR)/dtparserparse.c \
192 $(OBJDIR)/prparserlex.c \
193 $(OBJDIR)/prparserparse.c
196 $(OBJDIR)/aslcompilerparse.h \
197 $(OBJDIR)/aslcompiler.y.h \
198 $(OBJDIR)/aslcompilerparse.output \
199 $(OBJDIR)/dtparserparse.h \
200 $(OBJDIR)/dtparser.y.h \
201 $(OBJDIR)/dtparserparse.output \
202 $(OBJDIR)/prparserparse.h \
203 $(OBJDIR)/prparser.y.h \
204 $(OBJDIR)/prparserparse.output
207 # Flags specific to iASL compiler
210 -DACPI_ASL_COMPILER \
217 include ../Makefile.rules
221 # Parser and Lexer - intermediate C files
223 $(OBJDIR)/aslcompilerlex.c : $(ASL_COMPILER)/aslcompiler.l $(ASL_COMPILER)/aslsupport.l
224 ${LEX} ${LFLAGS} -PAslCompiler -o$@ $(ASL_COMPILER)/aslcompiler.l
226 $(OBJDIR)/aslcompilerparse.c $(OBJDIR)/aslcompilerparse.h : $(ASL_COMPILER)/aslcompiler.y
227 ${YACC} ${YFLAGS} -pAslCompiler -o$@ $?
229 $(OBJDIR)/dtparserlex.c : $(ASL_COMPILER)/dtparser.l
230 ${LEX} ${LFLAGS} -PDtParser -o$@ $?
232 $(OBJDIR)/dtparserparse.c $(OBJDIR)/dtparserparse.h : $(ASL_COMPILER)/dtparser.y
233 ${YACC} ${YFLAGS} -pDtParser -o$@ $?
235 $(OBJDIR)/prparserlex.c : $(ASL_COMPILER)/prparser.l
236 ${LEX} ${LFLAGS} -PPrParser -o$@ $?
238 $(OBJDIR)/prparserparse.c $(OBJDIR)/prparserparse.h : $(ASL_COMPILER)/prparser.y
239 ${YACC} ${YFLAGS} -pPrParser -o$@ $?
243 # Rename the headers produced by bison/yacc
245 $(OBJDIR)/aslcompiler.y.h : $(OBJDIR)/aslcompilerparse.h
246 @echo Copy intermediate file:
247 @cp -f -v $(OBJDIR)/aslcompilerparse.h $(OBJDIR)/aslcompiler.y.h
249 $(OBJDIR)/dtparser.y.h: $(OBJDIR)/dtparserparse.h
250 @echo Copy intermediate file:
251 @cp -f -v $(OBJDIR)/dtparserparse.h $(OBJDIR)/dtparser.y.h
253 $(OBJDIR)/prparser.y.h: $(OBJDIR)/prparserparse.h
254 @echo Copy intermediate file:
255 @cp -f -v $(OBJDIR)/prparserparse.h $(OBJDIR)/prparser.y.h
259 # Parsers and Lexers - final object files
261 # Cannot use the common compile warning flags since the C files are created
262 # by the utilities above and they are not necessarily ANSI C, etc.
264 $(OBJDIR)/aslcompilerlex.o : $(OBJDIR)/aslcompilerlex.c
265 $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $?
267 $(OBJDIR)/aslcompilerparse.o : $(OBJDIR)/aslcompilerparse.c
268 $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $?
270 $(OBJDIR)/dtparserlex.o : $(OBJDIR)/dtparserlex.c
271 $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $?
273 $(OBJDIR)/dtparserparse.o : $(OBJDIR)/dtparserparse.c
274 $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $?
276 $(OBJDIR)/prparserlex.o : $(OBJDIR)/prparserlex.c
277 $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $?
279 $(OBJDIR)/prparserparse.o : $(OBJDIR)/prparserparse.c
280 $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $?