]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - generate/unix/iasl/Makefile
Import ACPICA 20121114.
[FreeBSD/FreeBSD.git] / generate / unix / iasl / Makefile
1 #
2 # iASL compiler/disassembler
3 #
4
5 #
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.
12 #
13 include ../Makefile.config
14 FINAL_PROG = ../$(BINDIR)/iasl
15 PROG = $(OBJDIR)/iasl
16
17 #
18 # Search paths for source files
19 #
20 vpath %.c \
21     $(ASL_COMPILER) \
22     $(ACPICA_DEBUGGER) \
23     $(ACPICA_DISASSEMBLER) \
24     $(ACPICA_DISPATCHER) \
25     $(ACPICA_EXECUTER) \
26     $(ACPICA_NAMESPACE) \
27     $(ACPICA_PARSER) \
28     $(ACPICA_TABLES) \
29     $(ACPICA_UTILITIES) \
30     $(ACPICA_COMMON) \
31     $(ACPICA_OSL)
32
33 HEADERS = \
34     $(wildcard $(ASL_COMPILER)/*.h) \
35     $(OBJDIR)/aslcompiler.y.h \
36     $(OBJDIR)/dtparser.y.h \
37     $(OBJDIR)/prparser.y.h
38
39 OBJECTS = \
40         $(OBJDIR)/aslcompilerlex.o \
41         $(OBJDIR)/aslcompilerparse.o \
42         $(OBJDIR)/dtparserlex.o \
43         $(OBJDIR)/dtparserparse.o \
44         $(OBJDIR)/prparserlex.o \
45         $(OBJDIR)/prparserparse.o \
46         $(OBJDIR)/adfile.o \
47         $(OBJDIR)/adisasm.o \
48         $(OBJDIR)/adwalk.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 \
56         $(OBJDIR)/aslfold.o \
57         $(OBJDIR)/asllength.o \
58         $(OBJDIR)/asllisting.o \
59         $(OBJDIR)/aslload.o \
60         $(OBJDIR)/asllookup.o \
61         $(OBJDIR)/aslmain.o \
62         $(OBJDIR)/aslmap.o \
63         $(OBJDIR)/aslopcodes.o \
64         $(OBJDIR)/asloperands.o \
65         $(OBJDIR)/aslopt.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 \
79         $(OBJDIR)/asltree.o \
80         $(OBJDIR)/aslutils.o \
81         $(OBJDIR)/asluuid.o \
82         $(OBJDIR)/aslwalks.o \
83         $(OBJDIR)/dtcompile.o \
84         $(OBJDIR)/dtexpress.o \
85         $(OBJDIR)/dtfield.o \
86         $(OBJDIR)/dtio.o \
87         $(OBJDIR)/dtsubtable.o \
88         $(OBJDIR)/dttable.o \
89         $(OBJDIR)/dttemplate.o \
90         $(OBJDIR)/dtutils.o \
91         $(OBJDIR)/dbfileio.o \
92         $(OBJDIR)/dmbuffer.o \
93         $(OBJDIR)/dmdeferred.o \
94         $(OBJDIR)/dmextern.o \
95         $(OBJDIR)/dmnames.o \
96         $(OBJDIR)/dmobject.o \
97         $(OBJDIR)/dmopcode.o \
98         $(OBJDIR)/dmresrc.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 \
107         $(OBJDIR)/dmwalk.o \
108         $(OBJDIR)/dsargs.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 \
121         $(OBJDIR)/exdump.o \
122         $(OBJDIR)/exmisc.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 \
129         $(OBJDIR)/exprep.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 \
139         $(OBJDIR)/getopt.o \
140         $(OBJDIR)/nsaccess.o \
141         $(OBJDIR)/nsalloc.o \
142         $(OBJDIR)/nsdump.o \
143         $(OBJDIR)/nsnames.o \
144         $(OBJDIR)/nsobject.o \
145         $(OBJDIR)/nsparse.o \
146         $(OBJDIR)/nssearch.o \
147         $(OBJDIR)/nsutils.o \
148         $(OBJDIR)/nswalk.o \
149         $(OBJDIR)/nsxfobj.o \
150         $(OBJDIR)/osunixxf.o \
151         $(OBJDIR)/prexpress.o \
152         $(OBJDIR)/prmacros.o \
153         $(OBJDIR)/prscan.o \
154         $(OBJDIR)/prutils.o \
155         $(OBJDIR)/psargs.o \
156         $(OBJDIR)/psloop.o \
157         $(OBJDIR)/psopcode.o \
158         $(OBJDIR)/psparse.o \
159         $(OBJDIR)/psscope.o \
160         $(OBJDIR)/pstree.o \
161         $(OBJDIR)/psutils.o \
162         $(OBJDIR)/pswalk.o \
163         $(OBJDIR)/tbfadt.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 \
170         $(OBJDIR)/utcopy.o \
171         $(OBJDIR)/utdebug.o \
172         $(OBJDIR)/utdecode.o \
173         $(OBJDIR)/utdelete.o \
174         $(OBJDIR)/utexcep.o \
175         $(OBJDIR)/utglobal.o \
176         $(OBJDIR)/utinit.o \
177         $(OBJDIR)/utlock.o \
178         $(OBJDIR)/utmath.o \
179         $(OBJDIR)/utmisc.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
186
187 INTERMEDIATES = \
188         $(OBJDIR)/aslcompilerlex.c \
189         $(OBJDIR)/aslcompilerparse.c \
190         $(OBJDIR)/dtparserlex.c \
191         $(OBJDIR)/dtparserparse.c \
192         $(OBJDIR)/prparserlex.c \
193         $(OBJDIR)/prparserparse.c
194
195 MISC = \
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
205
206 #
207 # Flags specific to iASL compiler
208 #
209 CFLAGS+= \
210     -DACPI_ASL_COMPILER \
211     -I$(ASL_COMPILER) \
212     -I$(OBJDIR)
213
214 #
215 # Common Rules
216 #
217 include ../Makefile.rules
218
219
220 #
221 # Parser and Lexer - intermediate C files
222 #
223 $(OBJDIR)/aslcompilerlex.c :   $(ASL_COMPILER)/aslcompiler.l $(ASL_COMPILER)/aslsupport.l
224         ${LEX} ${LFLAGS} -PAslCompiler -o$@ $(ASL_COMPILER)/aslcompiler.l
225
226 $(OBJDIR)/aslcompilerparse.c $(OBJDIR)/aslcompilerparse.h : $(ASL_COMPILER)/aslcompiler.y
227         ${YACC} ${YFLAGS} -pAslCompiler -o$@ $?
228
229 $(OBJDIR)/dtparserlex.c :      $(ASL_COMPILER)/dtparser.l
230         ${LEX} ${LFLAGS} -PDtParser -o$@ $?
231
232 $(OBJDIR)/dtparserparse.c $(OBJDIR)/dtparserparse.h : $(ASL_COMPILER)/dtparser.y
233         ${YACC} ${YFLAGS} -pDtParser -o$@ $?
234
235 $(OBJDIR)/prparserlex.c :      $(ASL_COMPILER)/prparser.l
236         ${LEX} ${LFLAGS} -PPrParser -o$@ $?
237
238 $(OBJDIR)/prparserparse.c $(OBJDIR)/prparserparse.h : $(ASL_COMPILER)/prparser.y
239         ${YACC} ${YFLAGS} -pPrParser -o$@ $?
240
241
242 #
243 # Rename the headers produced by bison/yacc
244 #
245 $(OBJDIR)/aslcompiler.y.h : $(OBJDIR)/aslcompilerparse.h
246         @echo Copy intermediate file:
247         @cp -f -v $(OBJDIR)/aslcompilerparse.h $(OBJDIR)/aslcompiler.y.h
248
249 $(OBJDIR)/dtparser.y.h: $(OBJDIR)/dtparserparse.h
250         @echo Copy intermediate file:
251         @cp -f -v $(OBJDIR)/dtparserparse.h $(OBJDIR)/dtparser.y.h
252
253 $(OBJDIR)/prparser.y.h: $(OBJDIR)/prparserparse.h
254         @echo Copy intermediate file:
255         @cp -f -v $(OBJDIR)/prparserparse.h $(OBJDIR)/prparser.y.h
256
257
258 #
259 # Parsers and Lexers - final object files
260 #
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.
263 #
264 $(OBJDIR)/aslcompilerlex.o :   $(OBJDIR)/aslcompilerlex.c
265         $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $?
266
267 $(OBJDIR)/aslcompilerparse.o : $(OBJDIR)/aslcompilerparse.c
268         $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $?
269
270 $(OBJDIR)/dtparserlex.o :      $(OBJDIR)/dtparserlex.c
271         $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $?
272
273 $(OBJDIR)/dtparserparse.o :    $(OBJDIR)/dtparserparse.c
274         $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $?
275
276 $(OBJDIR)/prparserlex.o :      $(OBJDIR)/prparserlex.c
277         $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $?
278
279 $(OBJDIR)/prparserparse.o :    $(OBJDIR)/prparserparse.c
280         $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $?