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)\
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\
50 $(OBJDIR)/aslanalyze.o\
51 $(OBJDIR)/aslbtypes.o\
52 $(OBJDIR)/aslcodegen.o\
53 $(OBJDIR)/aslcompile.o\
56 $(OBJDIR)/aslfileio.o\
59 $(OBJDIR)/asllength.o\
60 $(OBJDIR)/asllisting.o\
61 $(OBJDIR)/asllistsup.o\
63 $(OBJDIR)/asllookup.o\
66 $(OBJDIR)/aslmethod.o\
67 $(OBJDIR)/aslnamesp.o\
68 $(OBJDIR)/asloffset.o\
69 $(OBJDIR)/aslopcodes.o\
70 $(OBJDIR)/asloperands.o\
72 $(OBJDIR)/asloptions.o\
73 $(OBJDIR)/aslpredef.o\
74 $(OBJDIR)/aslprepkg.o\
75 $(OBJDIR)/aslresource.o\
76 $(OBJDIR)/aslrestype1.o\
77 $(OBJDIR)/aslrestype1i.o\
78 $(OBJDIR)/aslrestype2.o\
79 $(OBJDIR)/aslrestype2d.o\
80 $(OBJDIR)/aslrestype2e.o\
81 $(OBJDIR)/aslrestype2q.o\
82 $(OBJDIR)/aslrestype2s.o\
83 $(OBJDIR)/aslrestype2w.o\
84 $(OBJDIR)/aslstartup.o\
86 $(OBJDIR)/asltransform.o\
92 $(OBJDIR)/dtcompile.o\
93 $(OBJDIR)/dtexpress.o\
96 $(OBJDIR)/dtsubtable.o\
98 $(OBJDIR)/dttemplate.o\
100 $(OBJDIR)/dbfileio.o\
101 $(OBJDIR)/dmbuffer.o\
102 $(OBJDIR)/dmdeferred.o\
103 $(OBJDIR)/dmextern.o\
105 $(OBJDIR)/dmobject.o\
106 $(OBJDIR)/dmopcode.o\
108 $(OBJDIR)/dmresrcl.o\
109 $(OBJDIR)/dmresrcl2.o\
110 $(OBJDIR)/dmresrcs.o\
111 $(OBJDIR)/dmrestag.o\
113 $(OBJDIR)/dmtbdump.o\
114 $(OBJDIR)/dmtbinfo.o\
118 $(OBJDIR)/dscontrol.o\
120 $(OBJDIR)/dsobject.o\
121 $(OBJDIR)/dsopcode.o\
125 $(OBJDIR)/dswload2.o\
126 $(OBJDIR)/dswscope.o\
127 $(OBJDIR)/dswstate.o\
128 $(OBJDIR)/exconvrt.o\
129 $(OBJDIR)/excreate.o\
134 $(OBJDIR)/exoparg1.o\
135 $(OBJDIR)/exoparg2.o\
136 $(OBJDIR)/exoparg3.o\
137 $(OBJDIR)/exoparg6.o\
139 $(OBJDIR)/exregion.o\
140 $(OBJDIR)/exresnte.o\
141 $(OBJDIR)/exresolv.o\
144 $(OBJDIR)/exstoren.o\
145 $(OBJDIR)/exstorob.o\
146 $(OBJDIR)/exsystem.o\
149 $(OBJDIR)/nsaccess.o\
153 $(OBJDIR)/nsobject.o\
155 $(OBJDIR)/nssearch.o\
159 $(OBJDIR)/osunixxf.o\
160 $(OBJDIR)/prexpress.o\
161 $(OBJDIR)/prmacros.o\
166 $(OBJDIR)/psobject.o\
167 $(OBJDIR)/psopcode.o\
168 $(OBJDIR)/psopinfo.o\
175 $(OBJDIR)/tbinstal.o\
179 $(OBJDIR)/utaddress.o\
181 $(OBJDIR)/utbuffer.o\
185 $(OBJDIR)/utdecode.o\
186 $(OBJDIR)/utdelete.o\
189 $(OBJDIR)/utglobal.o\
195 $(OBJDIR)/utobject.o\
196 $(OBJDIR)/utownerid.o\
197 $(OBJDIR)/utpredef.o\
200 $(OBJDIR)/utstring.o\
202 $(OBJDIR)/utxferror.o
205 $(OBJDIR)/aslcompilerlex.c\
206 $(OBJDIR)/aslcompilerparse.c\
207 $(OBJDIR)/dtparserlex.c\
208 $(OBJDIR)/dtparserparse.c\
209 $(OBJDIR)/prparserlex.c\
210 $(OBJDIR)/prparserparse.c
213 $(OBJDIR)/aslcompilerparse.h\
214 $(OBJDIR)/aslcompiler.y.h\
215 $(OBJDIR)/aslcompilerparse.output\
216 $(OBJDIR)/dtparserparse.h\
217 $(OBJDIR)/dtparser.y.h\
218 $(OBJDIR)/dtparserparse.output\
219 $(OBJDIR)/prparserparse.h\
220 $(OBJDIR)/prparser.y.h\
221 $(OBJDIR)/prparserparse.output
224 # Flags specific to iASL compiler
234 include ../Makefile.rules
238 # Parser and Lexer - intermediate C files
240 $(OBJDIR)/aslcompilerlex.c : $(ASL_COMPILER)/aslcompiler.l $(ASL_COMPILER)/aslsupport.l
241 $(LEX) $(LFLAGS) -PAslCompiler -o$@ $(ASL_COMPILER)/aslcompiler.l
243 $(OBJDIR)/aslcompilerparse.c $(OBJDIR)/aslcompilerparse.h : $(ASL_COMPILER)/aslcompiler.y
244 $(YACC) $(YFLAGS) -pAslCompiler -o$@ $?
246 $(OBJDIR)/dtparserlex.c : $(ASL_COMPILER)/dtparser.l
247 $(LEX) $(LFLAGS) -PDtParser -o$@ $?
249 $(OBJDIR)/dtparserparse.c $(OBJDIR)/dtparserparse.h : $(ASL_COMPILER)/dtparser.y
250 $(YACC) $(YFLAGS) -pDtParser -o$@ $?
252 $(OBJDIR)/prparserlex.c : $(ASL_COMPILER)/prparser.l
253 $(LEX) $(LFLAGS) -PPrParser -o$@ $?
255 $(OBJDIR)/prparserparse.c $(OBJDIR)/prparserparse.h : $(ASL_COMPILER)/prparser.y
256 $(YACC) $(YFLAGS) -pPrParser -o$@ $?
260 # Rename the headers produced by bison/yacc
262 $(OBJDIR)/aslcompiler.y.h : $(OBJDIR)/aslcompilerparse.h
263 @echo Copy intermediate file:
264 @cp -f -v $(OBJDIR)/aslcompilerparse.h $(OBJDIR)/aslcompiler.y.h
266 $(OBJDIR)/dtparser.y.h: $(OBJDIR)/dtparserparse.h
267 @echo Copy intermediate file:
268 @cp -f -v $(OBJDIR)/dtparserparse.h $(OBJDIR)/dtparser.y.h
270 $(OBJDIR)/prparser.y.h: $(OBJDIR)/prparserparse.h
271 @echo Copy intermediate file:
272 @cp -f -v $(OBJDIR)/prparserparse.h $(OBJDIR)/prparser.y.h
276 # Parsers and Lexers - final object files
278 # Cannot use the common compile warning flags since the C files are created
279 # by the utilities above and they are not necessarily ANSI C, etc.
281 $(OBJDIR)/aslcompilerlex.o : $(OBJDIR)/aslcompilerlex.c
282 $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $?
284 $(OBJDIR)/aslcompilerparse.o : $(OBJDIR)/aslcompilerparse.c
285 $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $?
287 $(OBJDIR)/dtparserlex.o : $(OBJDIR)/dtparserlex.c
288 $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $?
290 $(OBJDIR)/dtparserparse.o : $(OBJDIR)/dtparserparse.c
291 $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $?
293 $(OBJDIR)/prparserlex.o : $(OBJDIR)/prparserlex.c
294 $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $?
296 $(OBJDIR)/prparserparse.o : $(OBJDIR)/prparserparse.c
297 $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $?