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# 13include ../Makefile.config 14FINAL_PROG = ../$(BINDIR)/iasl 15PROG = $(OBJDIR)/iasl 16 17# 18# Search paths for source files 19# 20vpath %.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 33HEADERS = \ 34 $(wildcard $(ASL_COMPILER)/*.h)\ 35 $(OBJDIR)/aslcompiler.y.h\ 36 $(OBJDIR)/dtparser.y.h\ 37 $(OBJDIR)/prparser.y.h 38 39OBJECTS = \ 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 208INTERMEDIATES = \ 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 216MISC = \ 217 $(OBJDIR)/aslcompiler.y.h\ 218 $(OBJDIR)/dtparser.y.h\ 219 $(OBJDIR)/prparser.y.h 220 221# 222# Flags specific to iASL compiler 223# 224CFLAGS += \ 225 -DACPI_ASL_COMPILER\ 226 -I$(ASL_COMPILER)\ 227 -I$(OBJDIR) 228 229# 230# Common Rules 231# 232include ../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$@ $< 289