8cc8d814b727d036fb60743ac4b81e703da8e914
[dragonfly.git] / sys / contrib / dev / acpica / 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)/ahids.o\
50         $(OBJDIR)/ahpredef.o\
51         $(OBJDIR)/aslanalyze.o\
52         $(OBJDIR)/aslbtypes.o\
53         $(OBJDIR)/aslcodegen.o\
54         $(OBJDIR)/aslcompile.o\
55         $(OBJDIR)/aslerror.o\
56         $(OBJDIR)/aslfiles.o\
57         $(OBJDIR)/aslfileio.o\
58         $(OBJDIR)/aslfold.o\
59         $(OBJDIR)/aslhex.o\
60         $(OBJDIR)/asllength.o\
61         $(OBJDIR)/asllisting.o\
62         $(OBJDIR)/asllistsup.o\
63         $(OBJDIR)/aslload.o\
64         $(OBJDIR)/asllookup.o\
65         $(OBJDIR)/aslmain.o\
66         $(OBJDIR)/aslmap.o\
67         $(OBJDIR)/aslmessages.o\
68         $(OBJDIR)/aslmethod.o\
69         $(OBJDIR)/aslnamesp.o\
70         $(OBJDIR)/asloffset.o\
71         $(OBJDIR)/aslopcodes.o\
72         $(OBJDIR)/asloperands.o\
73         $(OBJDIR)/aslopt.o\
74         $(OBJDIR)/asloptions.o\
75         $(OBJDIR)/aslpredef.o\
76         $(OBJDIR)/aslprepkg.o\
77         $(OBJDIR)/aslresource.o\
78         $(OBJDIR)/aslrestype1.o\
79         $(OBJDIR)/aslrestype1i.o\
80         $(OBJDIR)/aslrestype2.o\
81         $(OBJDIR)/aslrestype2d.o\
82         $(OBJDIR)/aslrestype2e.o\
83         $(OBJDIR)/aslrestype2q.o\
84         $(OBJDIR)/aslrestype2s.o\
85         $(OBJDIR)/aslrestype2w.o\
86         $(OBJDIR)/aslstartup.o\
87         $(OBJDIR)/aslstubs.o\
88         $(OBJDIR)/asltransform.o\
89         $(OBJDIR)/asltree.o\
90         $(OBJDIR)/aslutils.o\
91         $(OBJDIR)/asluuid.o\
92         $(OBJDIR)/aslwalks.o\
93         $(OBJDIR)/aslxref.o\
94         $(OBJDIR)/cmfsize.o\
95         $(OBJDIR)/dtcompile.o\
96         $(OBJDIR)/dtexpress.o\
97         $(OBJDIR)/dtfield.o\
98         $(OBJDIR)/dtio.o\
99         $(OBJDIR)/dtsubtable.o\
100         $(OBJDIR)/dttable.o\
101         $(OBJDIR)/dttemplate.o\
102         $(OBJDIR)/dtutils.o\
103         $(OBJDIR)/dbfileio.o\
104         $(OBJDIR)/dmbuffer.o\
105         $(OBJDIR)/dmdeferred.o\
106         $(OBJDIR)/dmextern.o\
107         $(OBJDIR)/dmnames.o\
108         $(OBJDIR)/dmobject.o\
109         $(OBJDIR)/dmopcode.o\
110         $(OBJDIR)/dmresrc.o\
111         $(OBJDIR)/dmresrcl.o\
112         $(OBJDIR)/dmresrcl2.o\
113         $(OBJDIR)/dmresrcs.o\
114         $(OBJDIR)/dmrestag.o\
115         $(OBJDIR)/dmtable.o\
116         $(OBJDIR)/dmtbdump.o\
117         $(OBJDIR)/dmtbinfo.o\
118         $(OBJDIR)/dmutils.o\
119         $(OBJDIR)/dmwalk.o\
120         $(OBJDIR)/dsargs.o\
121         $(OBJDIR)/dscontrol.o\
122         $(OBJDIR)/dsfield.o\
123         $(OBJDIR)/dsobject.o\
124         $(OBJDIR)/dsopcode.o\
125         $(OBJDIR)/dsutils.o\
126         $(OBJDIR)/dswexec.o\
127         $(OBJDIR)/dswload.o\
128         $(OBJDIR)/dswload2.o\
129         $(OBJDIR)/dswscope.o\
130         $(OBJDIR)/dswstate.o\
131         $(OBJDIR)/exconvrt.o\
132         $(OBJDIR)/excreate.o\
133         $(OBJDIR)/exdump.o\
134         $(OBJDIR)/exmisc.o\
135         $(OBJDIR)/exmutex.o\
136         $(OBJDIR)/exnames.o\
137         $(OBJDIR)/exoparg1.o\
138         $(OBJDIR)/exoparg2.o\
139         $(OBJDIR)/exoparg3.o\
140         $(OBJDIR)/exoparg6.o\
141         $(OBJDIR)/exprep.o\
142         $(OBJDIR)/exregion.o\
143         $(OBJDIR)/exresnte.o\
144         $(OBJDIR)/exresolv.o\
145         $(OBJDIR)/exresop.o\
146         $(OBJDIR)/exstore.o\
147         $(OBJDIR)/exstoren.o\
148         $(OBJDIR)/exstorob.o\
149         $(OBJDIR)/exsystem.o\
150         $(OBJDIR)/exutils.o\
151         $(OBJDIR)/getopt.o\
152         $(OBJDIR)/nsaccess.o\
153         $(OBJDIR)/nsalloc.o\
154         $(OBJDIR)/nsdump.o\
155         $(OBJDIR)/nsnames.o\
156         $(OBJDIR)/nsobject.o\
157         $(OBJDIR)/nsparse.o\
158         $(OBJDIR)/nssearch.o\
159         $(OBJDIR)/nsutils.o\
160         $(OBJDIR)/nswalk.o\
161         $(OBJDIR)/nsxfobj.o\
162         $(OBJDIR)/osunixxf.o\
163         $(OBJDIR)/prexpress.o\
164         $(OBJDIR)/prmacros.o\
165         $(OBJDIR)/prscan.o\
166         $(OBJDIR)/prutils.o\
167         $(OBJDIR)/psargs.o\
168         $(OBJDIR)/psloop.o\
169         $(OBJDIR)/psobject.o\
170         $(OBJDIR)/psopcode.o\
171         $(OBJDIR)/psopinfo.o\
172         $(OBJDIR)/psparse.o\
173         $(OBJDIR)/psscope.o\
174         $(OBJDIR)/pstree.o\
175         $(OBJDIR)/psutils.o\
176         $(OBJDIR)/pswalk.o\
177         $(OBJDIR)/tbdata.o\
178         $(OBJDIR)/tbfadt.o\
179         $(OBJDIR)/tbinstal.o\
180         $(OBJDIR)/tbprint.o\
181         $(OBJDIR)/tbutils.o\
182         $(OBJDIR)/tbxface.o\
183         $(OBJDIR)/utaddress.o\
184         $(OBJDIR)/utalloc.o\
185         $(OBJDIR)/utbuffer.o\
186         $(OBJDIR)/utcache.o\
187         $(OBJDIR)/utcopy.o\
188         $(OBJDIR)/utdebug.o\
189         $(OBJDIR)/utdecode.o\
190         $(OBJDIR)/utdelete.o\
191         $(OBJDIR)/uterror.o\
192         $(OBJDIR)/utexcep.o\
193         $(OBJDIR)/utglobal.o\
194         $(OBJDIR)/utinit.o\
195         $(OBJDIR)/utlock.o\
196         $(OBJDIR)/utmath.o\
197         $(OBJDIR)/utmisc.o\
198         $(OBJDIR)/utmutex.o\
199         $(OBJDIR)/utobject.o\
200         $(OBJDIR)/utownerid.o\
201         $(OBJDIR)/utpredef.o\
202         $(OBJDIR)/utresrc.o\
203         $(OBJDIR)/utstate.o\
204         $(OBJDIR)/utstring.o\
205         $(OBJDIR)/utxface.o\
206         $(OBJDIR)/utxferror.o
207
208 INTERMEDIATES = \
209         $(OBJDIR)/aslcompilerlex.c\
210         $(OBJDIR)/aslcompilerparse.c\
211         $(OBJDIR)/dtparserlex.c\
212         $(OBJDIR)/dtparserparse.c\
213         $(OBJDIR)/prparserlex.c\
214         $(OBJDIR)/prparserparse.c
215
216 MISC = \
217         $(OBJDIR)/aslcompiler.y.h\
218         $(OBJDIR)/dtparser.y.h\
219         $(OBJDIR)/prparser.y.h
220
221 #
222 # Flags specific to iASL compiler
223 #
224 CFLAGS += \
225     -DACPI_ASL_COMPILER\
226     -I$(ASL_COMPILER)\
227     -I$(OBJDIR)
228
229 #
230 # Common Rules
231 #
232 include ../Makefile.rules
233
234
235 #
236 # Parser and Lexer - intermediate C files
237 #
238 $(OBJDIR)/aslcompilerlex.c :   $(ASL_COMPILER)/aslcompiler.l $(ASL_COMPILER)/aslsupport.l $(OBJDIR)/aslcompiler.y.h
239         $(LEX) $(LFLAGS) -PAslCompiler -o$@ $(ASL_COMPILER)/aslcompiler.l
240
241 $(OBJDIR)/aslcompiler.y.h :    $(ASL_COMPILER)/aslcompiler.y
242         $(YACC) $(YFLAGS) -pAslCompiler -o/dev/null --defines=$@ $<
243
244 $(OBJDIR)/aslcompilerparse.c : $(ASL_COMPILER)/aslcompiler.y
245         $(YACC) $(YFLAGS) -pAslCompiler -o$@ --defines=/dev/null $<
246
247 $(OBJDIR)/dtparserlex.c :      $(ASL_COMPILER)/dtparser.l $(OBJDIR)/dtparser.y.h
248         $(LEX) $(LFLAGS) -PDtParser -o$@ $<
249
250 $(OBJDIR)/dtparser.y.h :       $(ASL_COMPILER)/dtparser.y
251         $(YACC) $(YFLAGS) -pDtParser -o/dev/null --defines=$@ $<
252
253 $(OBJDIR)/dtparserparse.c :    $(ASL_COMPILER)/dtparser.y
254         $(YACC) $(YFLAGS) -pDtParser -o$@ --defines=/dev/null $<
255
256 $(OBJDIR)/prparserlex.c :      $(ASL_COMPILER)/prparser.l $(OBJDIR)/prparser.y.h
257         $(LEX) $(LFLAGS) -PPrParser -o$@ $<
258
259 $(OBJDIR)/prparser.y.h :       $(ASL_COMPILER)/prparser.y
260         $(YACC) $(YFLAGS) -pPrParser -o/dev/null --defines=$@ $<
261
262 $(OBJDIR)/prparserparse.c :    $(ASL_COMPILER)/prparser.y
263         $(YACC) $(YFLAGS) -pPrParser -o$@ --defines=/dev/null $<
264
265
266 #
267 # Parsers and Lexers - final object files
268 #
269 # Cannot use the common compile warning flags since the C files are created
270 # by the utilities above and they are not necessarily ANSI C, etc.
271 #
272 $(OBJDIR)/aslcompilerlex.o :   $(OBJDIR)/aslcompilerlex.c
273         $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
274
275 $(OBJDIR)/aslcompilerparse.o : $(OBJDIR)/aslcompilerparse.c
276         $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
277
278 $(OBJDIR)/dtparserlex.o :      $(OBJDIR)/dtparserlex.c
279         $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
280
281 $(OBJDIR)/dtparserparse.o :    $(OBJDIR)/dtparserparse.c
282         $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
283
284 $(OBJDIR)/prparserlex.o :      $(OBJDIR)/prparserlex.c
285         $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
286
287 $(OBJDIR)/prparserparse.o :    $(OBJDIR)/prparserparse.c
288         $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<