10d02842fSSascha Wildner# 20d02842fSSascha Wildner# iASL compiler/disassembler 30d02842fSSascha Wildner# 40d02842fSSascha Wildner 50d02842fSSascha Wildner# 60d02842fSSascha Wildner# Note: This makefile is intended to be used from within the native 70d02842fSSascha Wildner# ACPICA directory structure, from under generate/unix. It specifically 80d02842fSSascha Wildner# places all object files in a generate/unix subdirectory, not within 90d02842fSSascha Wildner# the various ACPICA source directories. This prevents collisions 100d02842fSSascha Wildner# between different compilations of the same source file with different 110d02842fSSascha Wildner# compile options, and prevents pollution of the source code. 120d02842fSSascha Wildner# 130d02842fSSascha Wildnerinclude ../Makefile.config 140d02842fSSascha WildnerFINAL_PROG = ../$(BINDIR)/iasl 150d02842fSSascha WildnerPROG = $(OBJDIR)/iasl 160d02842fSSascha Wildner 170d02842fSSascha Wildner# 180d02842fSSascha Wildner# Search paths for source files 190d02842fSSascha Wildner# 200d02842fSSascha Wildnervpath %.c \ 210d02842fSSascha Wildner $(ASL_COMPILER)\ 220d02842fSSascha Wildner $(ACPICA_DEBUGGER)\ 230d02842fSSascha Wildner $(ACPICA_DISASSEMBLER)\ 240d02842fSSascha Wildner $(ACPICA_DISPATCHER)\ 250d02842fSSascha Wildner $(ACPICA_EXECUTER)\ 260d02842fSSascha Wildner $(ACPICA_NAMESPACE)\ 270d02842fSSascha Wildner $(ACPICA_PARSER)\ 280d02842fSSascha Wildner $(ACPICA_TABLES)\ 290d02842fSSascha Wildner $(ACPICA_UTILITIES)\ 300d02842fSSascha Wildner $(ACPICA_COMMON)\ 310d02842fSSascha Wildner $(ACPICA_OSL) 320d02842fSSascha Wildner 330d02842fSSascha WildnerHEADERS = \ 340d02842fSSascha Wildner $(wildcard $(ASL_COMPILER)/*.h)\ 350d02842fSSascha Wildner $(OBJDIR)/aslcompiler.y.h\ 360d02842fSSascha Wildner $(OBJDIR)/dtparser.y.h\ 370d02842fSSascha Wildner $(OBJDIR)/prparser.y.h 380d02842fSSascha Wildner 390d02842fSSascha WildnerOBJECTS = \ 400d02842fSSascha Wildner $(OBJDIR)/aslcompilerlex.o\ 410d02842fSSascha Wildner $(OBJDIR)/aslcompilerparse.o\ 420d02842fSSascha Wildner $(OBJDIR)/dtparserlex.o\ 430d02842fSSascha Wildner $(OBJDIR)/dtparserparse.o\ 440d02842fSSascha Wildner $(OBJDIR)/prparserlex.o\ 450d02842fSSascha Wildner $(OBJDIR)/prparserparse.o\ 460d02842fSSascha Wildner $(OBJDIR)/adfile.o\ 470d02842fSSascha Wildner $(OBJDIR)/adisasm.o\ 480d02842fSSascha Wildner $(OBJDIR)/adwalk.o\ 49d4972a9cSSascha Wildner $(OBJDIR)/ahids.o\ 500d02842fSSascha Wildner $(OBJDIR)/ahpredef.o\ 510d02842fSSascha Wildner $(OBJDIR)/aslanalyze.o\ 520d02842fSSascha Wildner $(OBJDIR)/aslbtypes.o\ 530d02842fSSascha Wildner $(OBJDIR)/aslcodegen.o\ 540d02842fSSascha Wildner $(OBJDIR)/aslcompile.o\ 550d02842fSSascha Wildner $(OBJDIR)/aslerror.o\ 560d02842fSSascha Wildner $(OBJDIR)/aslfiles.o\ 570d02842fSSascha Wildner $(OBJDIR)/aslfileio.o\ 580d02842fSSascha Wildner $(OBJDIR)/aslfold.o\ 590d02842fSSascha Wildner $(OBJDIR)/aslhex.o\ 600d02842fSSascha Wildner $(OBJDIR)/asllength.o\ 610d02842fSSascha Wildner $(OBJDIR)/asllisting.o\ 620d02842fSSascha Wildner $(OBJDIR)/asllistsup.o\ 630d02842fSSascha Wildner $(OBJDIR)/aslload.o\ 640d02842fSSascha Wildner $(OBJDIR)/asllookup.o\ 650d02842fSSascha Wildner $(OBJDIR)/aslmain.o\ 660d02842fSSascha Wildner $(OBJDIR)/aslmap.o\ 67*9e1c0880SSascha Wildner $(OBJDIR)/aslmessages.o\ 680d02842fSSascha Wildner $(OBJDIR)/aslmethod.o\ 690d02842fSSascha Wildner $(OBJDIR)/aslnamesp.o\ 700d02842fSSascha Wildner $(OBJDIR)/asloffset.o\ 710d02842fSSascha Wildner $(OBJDIR)/aslopcodes.o\ 720d02842fSSascha Wildner $(OBJDIR)/asloperands.o\ 730d02842fSSascha Wildner $(OBJDIR)/aslopt.o\ 740d02842fSSascha Wildner $(OBJDIR)/asloptions.o\ 750d02842fSSascha Wildner $(OBJDIR)/aslpredef.o\ 760d02842fSSascha Wildner $(OBJDIR)/aslprepkg.o\ 770d02842fSSascha Wildner $(OBJDIR)/aslresource.o\ 780d02842fSSascha Wildner $(OBJDIR)/aslrestype1.o\ 790d02842fSSascha Wildner $(OBJDIR)/aslrestype1i.o\ 800d02842fSSascha Wildner $(OBJDIR)/aslrestype2.o\ 810d02842fSSascha Wildner $(OBJDIR)/aslrestype2d.o\ 820d02842fSSascha Wildner $(OBJDIR)/aslrestype2e.o\ 830d02842fSSascha Wildner $(OBJDIR)/aslrestype2q.o\ 840d02842fSSascha Wildner $(OBJDIR)/aslrestype2s.o\ 850d02842fSSascha Wildner $(OBJDIR)/aslrestype2w.o\ 860d02842fSSascha Wildner $(OBJDIR)/aslstartup.o\ 870d02842fSSascha Wildner $(OBJDIR)/aslstubs.o\ 880d02842fSSascha Wildner $(OBJDIR)/asltransform.o\ 890d02842fSSascha Wildner $(OBJDIR)/asltree.o\ 900d02842fSSascha Wildner $(OBJDIR)/aslutils.o\ 910d02842fSSascha Wildner $(OBJDIR)/asluuid.o\ 920d02842fSSascha Wildner $(OBJDIR)/aslwalks.o\ 930d02842fSSascha Wildner $(OBJDIR)/aslxref.o\ 94d4972a9cSSascha Wildner $(OBJDIR)/cmfsize.o\ 950d02842fSSascha Wildner $(OBJDIR)/dtcompile.o\ 960d02842fSSascha Wildner $(OBJDIR)/dtexpress.o\ 970d02842fSSascha Wildner $(OBJDIR)/dtfield.o\ 980d02842fSSascha Wildner $(OBJDIR)/dtio.o\ 990d02842fSSascha Wildner $(OBJDIR)/dtsubtable.o\ 1000d02842fSSascha Wildner $(OBJDIR)/dttable.o\ 1010d02842fSSascha Wildner $(OBJDIR)/dttemplate.o\ 1020d02842fSSascha Wildner $(OBJDIR)/dtutils.o\ 1030d02842fSSascha Wildner $(OBJDIR)/dbfileio.o\ 1040d02842fSSascha Wildner $(OBJDIR)/dmbuffer.o\ 1050d02842fSSascha Wildner $(OBJDIR)/dmdeferred.o\ 1060d02842fSSascha Wildner $(OBJDIR)/dmextern.o\ 1070d02842fSSascha Wildner $(OBJDIR)/dmnames.o\ 1080d02842fSSascha Wildner $(OBJDIR)/dmobject.o\ 1090d02842fSSascha Wildner $(OBJDIR)/dmopcode.o\ 1100d02842fSSascha Wildner $(OBJDIR)/dmresrc.o\ 1110d02842fSSascha Wildner $(OBJDIR)/dmresrcl.o\ 1120d02842fSSascha Wildner $(OBJDIR)/dmresrcl2.o\ 1130d02842fSSascha Wildner $(OBJDIR)/dmresrcs.o\ 1140d02842fSSascha Wildner $(OBJDIR)/dmrestag.o\ 1150d02842fSSascha Wildner $(OBJDIR)/dmtable.o\ 1160d02842fSSascha Wildner $(OBJDIR)/dmtbdump.o\ 1170d02842fSSascha Wildner $(OBJDIR)/dmtbinfo.o\ 1180d02842fSSascha Wildner $(OBJDIR)/dmutils.o\ 1190d02842fSSascha Wildner $(OBJDIR)/dmwalk.o\ 1200d02842fSSascha Wildner $(OBJDIR)/dsargs.o\ 1210d02842fSSascha Wildner $(OBJDIR)/dscontrol.o\ 1220d02842fSSascha Wildner $(OBJDIR)/dsfield.o\ 1230d02842fSSascha Wildner $(OBJDIR)/dsobject.o\ 1240d02842fSSascha Wildner $(OBJDIR)/dsopcode.o\ 1250d02842fSSascha Wildner $(OBJDIR)/dsutils.o\ 1260d02842fSSascha Wildner $(OBJDIR)/dswexec.o\ 1270d02842fSSascha Wildner $(OBJDIR)/dswload.o\ 1280d02842fSSascha Wildner $(OBJDIR)/dswload2.o\ 1290d02842fSSascha Wildner $(OBJDIR)/dswscope.o\ 1300d02842fSSascha Wildner $(OBJDIR)/dswstate.o\ 1310d02842fSSascha Wildner $(OBJDIR)/exconvrt.o\ 1320d02842fSSascha Wildner $(OBJDIR)/excreate.o\ 1330d02842fSSascha Wildner $(OBJDIR)/exdump.o\ 1340d02842fSSascha Wildner $(OBJDIR)/exmisc.o\ 1350d02842fSSascha Wildner $(OBJDIR)/exmutex.o\ 1360d02842fSSascha Wildner $(OBJDIR)/exnames.o\ 1370d02842fSSascha Wildner $(OBJDIR)/exoparg1.o\ 1380d02842fSSascha Wildner $(OBJDIR)/exoparg2.o\ 1390d02842fSSascha Wildner $(OBJDIR)/exoparg3.o\ 1400d02842fSSascha Wildner $(OBJDIR)/exoparg6.o\ 1410d02842fSSascha Wildner $(OBJDIR)/exprep.o\ 1420d02842fSSascha Wildner $(OBJDIR)/exregion.o\ 1430d02842fSSascha Wildner $(OBJDIR)/exresnte.o\ 1440d02842fSSascha Wildner $(OBJDIR)/exresolv.o\ 1450d02842fSSascha Wildner $(OBJDIR)/exresop.o\ 1460d02842fSSascha Wildner $(OBJDIR)/exstore.o\ 1470d02842fSSascha Wildner $(OBJDIR)/exstoren.o\ 1480d02842fSSascha Wildner $(OBJDIR)/exstorob.o\ 1490d02842fSSascha Wildner $(OBJDIR)/exsystem.o\ 1500d02842fSSascha Wildner $(OBJDIR)/exutils.o\ 1510d02842fSSascha Wildner $(OBJDIR)/getopt.o\ 1520d02842fSSascha Wildner $(OBJDIR)/nsaccess.o\ 1530d02842fSSascha Wildner $(OBJDIR)/nsalloc.o\ 1540d02842fSSascha Wildner $(OBJDIR)/nsdump.o\ 1550d02842fSSascha Wildner $(OBJDIR)/nsnames.o\ 1560d02842fSSascha Wildner $(OBJDIR)/nsobject.o\ 1570d02842fSSascha Wildner $(OBJDIR)/nsparse.o\ 1580d02842fSSascha Wildner $(OBJDIR)/nssearch.o\ 1590d02842fSSascha Wildner $(OBJDIR)/nsutils.o\ 1600d02842fSSascha Wildner $(OBJDIR)/nswalk.o\ 1610d02842fSSascha Wildner $(OBJDIR)/nsxfobj.o\ 1620d02842fSSascha Wildner $(OBJDIR)/osunixxf.o\ 1630d02842fSSascha Wildner $(OBJDIR)/prexpress.o\ 1640d02842fSSascha Wildner $(OBJDIR)/prmacros.o\ 1650d02842fSSascha Wildner $(OBJDIR)/prscan.o\ 1660d02842fSSascha Wildner $(OBJDIR)/prutils.o\ 1670d02842fSSascha Wildner $(OBJDIR)/psargs.o\ 1680d02842fSSascha Wildner $(OBJDIR)/psloop.o\ 1690d02842fSSascha Wildner $(OBJDIR)/psobject.o\ 1700d02842fSSascha Wildner $(OBJDIR)/psopcode.o\ 1710d02842fSSascha Wildner $(OBJDIR)/psopinfo.o\ 1720d02842fSSascha Wildner $(OBJDIR)/psparse.o\ 1730d02842fSSascha Wildner $(OBJDIR)/psscope.o\ 1740d02842fSSascha Wildner $(OBJDIR)/pstree.o\ 1750d02842fSSascha Wildner $(OBJDIR)/psutils.o\ 1760d02842fSSascha Wildner $(OBJDIR)/pswalk.o\ 177d4972a9cSSascha Wildner $(OBJDIR)/tbdata.o\ 1780d02842fSSascha Wildner $(OBJDIR)/tbfadt.o\ 1790d02842fSSascha Wildner $(OBJDIR)/tbinstal.o\ 1800d02842fSSascha Wildner $(OBJDIR)/tbprint.o\ 1810d02842fSSascha Wildner $(OBJDIR)/tbutils.o\ 1820d02842fSSascha Wildner $(OBJDIR)/tbxface.o\ 1830d02842fSSascha Wildner $(OBJDIR)/utaddress.o\ 1840d02842fSSascha Wildner $(OBJDIR)/utalloc.o\ 1850d02842fSSascha Wildner $(OBJDIR)/utbuffer.o\ 1860d02842fSSascha Wildner $(OBJDIR)/utcache.o\ 1870d02842fSSascha Wildner $(OBJDIR)/utcopy.o\ 1880d02842fSSascha Wildner $(OBJDIR)/utdebug.o\ 1890d02842fSSascha Wildner $(OBJDIR)/utdecode.o\ 1900d02842fSSascha Wildner $(OBJDIR)/utdelete.o\ 1910d02842fSSascha Wildner $(OBJDIR)/uterror.o\ 1920d02842fSSascha Wildner $(OBJDIR)/utexcep.o\ 1930d02842fSSascha Wildner $(OBJDIR)/utglobal.o\ 1940d02842fSSascha Wildner $(OBJDIR)/utinit.o\ 1950d02842fSSascha Wildner $(OBJDIR)/utlock.o\ 1960d02842fSSascha Wildner $(OBJDIR)/utmath.o\ 1970d02842fSSascha Wildner $(OBJDIR)/utmisc.o\ 1980d02842fSSascha Wildner $(OBJDIR)/utmutex.o\ 1990d02842fSSascha Wildner $(OBJDIR)/utobject.o\ 2000d02842fSSascha Wildner $(OBJDIR)/utownerid.o\ 2010d02842fSSascha Wildner $(OBJDIR)/utpredef.o\ 2020d02842fSSascha Wildner $(OBJDIR)/utresrc.o\ 2030d02842fSSascha Wildner $(OBJDIR)/utstate.o\ 2040d02842fSSascha Wildner $(OBJDIR)/utstring.o\ 2050d02842fSSascha Wildner $(OBJDIR)/utxface.o\ 2060d02842fSSascha Wildner $(OBJDIR)/utxferror.o 2070d02842fSSascha Wildner 2080d02842fSSascha WildnerINTERMEDIATES = \ 2090d02842fSSascha Wildner $(OBJDIR)/aslcompilerlex.c\ 2100d02842fSSascha Wildner $(OBJDIR)/aslcompilerparse.c\ 2110d02842fSSascha Wildner $(OBJDIR)/dtparserlex.c\ 2120d02842fSSascha Wildner $(OBJDIR)/dtparserparse.c\ 2130d02842fSSascha Wildner $(OBJDIR)/prparserlex.c\ 2140d02842fSSascha Wildner $(OBJDIR)/prparserparse.c 2150d02842fSSascha Wildner 2160d02842fSSascha WildnerMISC = \ 2170d02842fSSascha Wildner $(OBJDIR)/aslcompiler.y.h\ 2180d02842fSSascha Wildner $(OBJDIR)/dtparser.y.h\ 2190d02842fSSascha Wildner $(OBJDIR)/prparser.y.h 2200d02842fSSascha Wildner 2210d02842fSSascha Wildner# 2220d02842fSSascha Wildner# Flags specific to iASL compiler 2230d02842fSSascha Wildner# 2240d02842fSSascha WildnerCFLAGS += \ 2250d02842fSSascha Wildner -DACPI_ASL_COMPILER\ 2260d02842fSSascha Wildner -I$(ASL_COMPILER)\ 2270d02842fSSascha Wildner -I$(OBJDIR) 2280d02842fSSascha Wildner 2290d02842fSSascha Wildner# 2300d02842fSSascha Wildner# Common Rules 2310d02842fSSascha Wildner# 2320d02842fSSascha Wildnerinclude ../Makefile.rules 2330d02842fSSascha Wildner 2340d02842fSSascha Wildner 2350d02842fSSascha Wildner# 2360d02842fSSascha Wildner# Parser and Lexer - intermediate C files 2370d02842fSSascha Wildner# 2380d02842fSSascha Wildner$(OBJDIR)/aslcompilerlex.c : $(ASL_COMPILER)/aslcompiler.l $(ASL_COMPILER)/aslsupport.l $(OBJDIR)/aslcompiler.y.h 2390d02842fSSascha Wildner $(LEX) $(LFLAGS) -PAslCompiler -o$@ $(ASL_COMPILER)/aslcompiler.l 2400d02842fSSascha Wildner 2410d02842fSSascha Wildner$(OBJDIR)/aslcompiler.y.h : $(ASL_COMPILER)/aslcompiler.y 2420d02842fSSascha Wildner $(YACC) $(YFLAGS) -pAslCompiler -o/dev/null --defines=$@ $< 2430d02842fSSascha Wildner 2440d02842fSSascha Wildner$(OBJDIR)/aslcompilerparse.c : $(ASL_COMPILER)/aslcompiler.y 2450d02842fSSascha Wildner $(YACC) $(YFLAGS) -pAslCompiler -o$@ --defines=/dev/null $< 2460d02842fSSascha Wildner 2470d02842fSSascha Wildner$(OBJDIR)/dtparserlex.c : $(ASL_COMPILER)/dtparser.l $(OBJDIR)/dtparser.y.h 2480d02842fSSascha Wildner $(LEX) $(LFLAGS) -PDtParser -o$@ $< 2490d02842fSSascha Wildner 2500d02842fSSascha Wildner$(OBJDIR)/dtparser.y.h : $(ASL_COMPILER)/dtparser.y 2510d02842fSSascha Wildner $(YACC) $(YFLAGS) -pDtParser -o/dev/null --defines=$@ $< 2520d02842fSSascha Wildner 2530d02842fSSascha Wildner$(OBJDIR)/dtparserparse.c : $(ASL_COMPILER)/dtparser.y 2540d02842fSSascha Wildner $(YACC) $(YFLAGS) -pDtParser -o$@ --defines=/dev/null $< 2550d02842fSSascha Wildner 2560d02842fSSascha Wildner$(OBJDIR)/prparserlex.c : $(ASL_COMPILER)/prparser.l $(OBJDIR)/prparser.y.h 2570d02842fSSascha Wildner $(LEX) $(LFLAGS) -PPrParser -o$@ $< 2580d02842fSSascha Wildner 2590d02842fSSascha Wildner$(OBJDIR)/prparser.y.h : $(ASL_COMPILER)/prparser.y 2600d02842fSSascha Wildner $(YACC) $(YFLAGS) -pPrParser -o/dev/null --defines=$@ $< 2610d02842fSSascha Wildner 2620d02842fSSascha Wildner$(OBJDIR)/prparserparse.c : $(ASL_COMPILER)/prparser.y 2630d02842fSSascha Wildner $(YACC) $(YFLAGS) -pPrParser -o$@ --defines=/dev/null $< 2640d02842fSSascha Wildner 2650d02842fSSascha Wildner 2660d02842fSSascha Wildner# 2670d02842fSSascha Wildner# Parsers and Lexers - final object files 2680d02842fSSascha Wildner# 2690d02842fSSascha Wildner# Cannot use the common compile warning flags since the C files are created 2700d02842fSSascha Wildner# by the utilities above and they are not necessarily ANSI C, etc. 2710d02842fSSascha Wildner# 2720d02842fSSascha Wildner$(OBJDIR)/aslcompilerlex.o : $(OBJDIR)/aslcompilerlex.c 2730d02842fSSascha Wildner $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $< 2740d02842fSSascha Wildner 2750d02842fSSascha Wildner$(OBJDIR)/aslcompilerparse.o : $(OBJDIR)/aslcompilerparse.c 2760d02842fSSascha Wildner $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $< 2770d02842fSSascha Wildner 2780d02842fSSascha Wildner$(OBJDIR)/dtparserlex.o : $(OBJDIR)/dtparserlex.c 2790d02842fSSascha Wildner $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $< 2800d02842fSSascha Wildner 2810d02842fSSascha Wildner$(OBJDIR)/dtparserparse.o : $(OBJDIR)/dtparserparse.c 2820d02842fSSascha Wildner $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $< 2830d02842fSSascha Wildner 2840d02842fSSascha Wildner$(OBJDIR)/prparserlex.o : $(OBJDIR)/prparserlex.c 2850d02842fSSascha Wildner $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $< 2860d02842fSSascha Wildner 2870d02842fSSascha Wildner$(OBJDIR)/prparserparse.o : $(OBJDIR)/prparserparse.c 2880d02842fSSascha Wildner $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $< 289