1 #
   2 # This file and its contents are supplied under the terms of the
   3 # Common Development and Distribution License ("CDDL"), version 1.0.
   4 # You may only use this file in accordance with the terms of version
   5 # 1.0 of the CDDL.
   6 #
   7 # A full copy of the text of the CDDL should have accompanied this
   8 # source.  A copy of the CDDL is also available via the Internet at
   9 # http://www.illumos.org/license/CDDL.
  10 #
  11 
  12 #
  13 # Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
  14 #
  15 
  16 PROG=           iasl
  17 # common
  18 OBJS +=         adfile.o adisasm.o adwalk.o dmextern.o  \
  19                 dmrestag.o dmtable.o dmtbdump.o dmtbinfo.o getopt.o     \
  20                 ahpredef.o
  21 # compiler (generated)
  22 OBJS +=         aslcompilerparse.o aslcompilerlex.o dtparserparse.o     \
  23                 dtparserlex.o prexpress.o prmacros.o prscan.o prutils.o \
  24                 prparserparse.o prparserlex.o
  25 # compiler
  26 OBJS +=         aslanalyze.o aslbtypes.o aslcodegen.o aslcompile.o      \
  27                 aslerror.o aslfiles.o aslfold.o asllength.o             \
  28                 asllisting.o aslload.o asllookup.o aslmain.o aslmap.o   \
  29                 aslopcodes.o asloperands.o aslopt.o aslpredef.o         \
  30                 aslresource.o aslrestype1.o aslrestype1i.o              \
  31                 aslrestype2.o aslrestype2d.o aslrestype2e.o             \
  32                 aslrestype2q.o aslrestype2w.o aslstartup.o aslstubs.o   \
  33                 asltransform.o asltree.o aslutils.o asluuid.o           \
  34                 aslwalks.o dtcompile.o dtexpress.o dtfield.o dtio.o     \
  35                 dtsubtable.o dttable.o dttemplate.o dtutils.o aslfileio.o       \
  36                 aslhex.o asllistsup.o aslmethod.o aslnamesp.o asloffset.o       \
  37                 asloptions.o aslprepkg.o aslrestype2s.o aslxref.o
  38 # components/debugger
  39 OBJS +=         dbfileio.o
  40 # components/disassembler
  41 OBJS +=         dmbuffer.o dmnames.o dmopcode.o dmresrc.o dmresrcl.o    \
  42                 dmresrcs.o dmutils.o dmwalk.o dmdeferred.o dmobject.o           \
  43                 dmresrcl2.o
  44 
  45 # components/dispatcher
  46 OBJS +=         dsargs.o dscontrol.o dsfield.o dsobject.o dsopcode.o    \
  47                 dsutils.o dswexec.o dswload.o dswload2.o dswscope.o     \
  48                 dswstate.o
  49 # components/executer
  50 OBJS +=         exconvrt.o excreate.o exdump.o exmisc.o exmutex.o       \
  51                 exnames.o exoparg1.o exoparg2.o exoparg3.o exoparg6.o   \
  52                 exprep.o exresnte.o exresolv.o exresop.o exstore.o      \
  53                 exstoren.o exstorob.o exsystem.o exutils.o exregion.o
  54 # components/namespace
  55 OBJS +=         nsaccess.o nsalloc.o nsdump.o nsnames.o nsobject.o      \
  56                 nsparse.o nssearch.o nsutils.o nswalk.o nsxfobj.o
  57 # components/parser
  58 OBJS +=         psargs.o psloop.o psopcode.o psparse.o psscope.o        \
  59                 pstree.o psutils.o pswalk.o psobject.o psopinfo.o
  60 # components/tables
  61 OBJS +=         tbfadt.o tbinstal.o tbutils.o tbxface.o tbprint.o
  62 # components/utilities
  63 OBJS +=         utalloc.o utcache.o utcopy.o utdebug.o utdecode.o       \
  64                 utdelete.o utglobal.o utinit.o utlock.o utmath.o        \
  65                 utmisc.o utmutex.o utobject.o utresrc.o utstate.o       \
  66                 utxface.o utxferror.o utaddress.o utbuffer.o uterror.o  \
  67                 utexcep.o utownerid.o utpredef.o utstring.o
  68                 
  69 # os_specific/service_layers
  70 OBJS +=         osunixxf.o
  71 
  72 CLEANFILES=     aslcompiler.y.h aslcompilerlex.c aslcompilerparse.c     \
  73                 dtparser.y.h dtparserlex.c dtparserparse.c prparser.y.h \
  74                 prparserlex.c prparserparse.c
  75 
  76 ACPICA=         $(SRC)/common/acpica
  77 
  78 include         $(SRC)/cmd/Makefile.cmd
  79 
  80 C99MODE=        $(C99_ENABLE)
  81 CPPFLAGS +=     -DACPI_ASL_COMPILER -DACPI_USE_STANDARD_HEADERS         \
  82                 -I$(ACPICA)/include -I$(ACPICA)/compiler -I.
  83 
  84 # Flags for flex and bison
  85 LFLAGS=         -i -s
  86 YFLAGS=         -d
  87 
  88 .KEEP_STATE:
  89 
  90 all:            $(PROG)
  91 
  92 clean:
  93                 $(RM) $(CLEANFILES) $(OBJS)
  94 
  95 install:        all $(ROOTPROG)
  96 
  97 $(PROG):        $(OBJS)
  98                 $(LINK.c) $(OBJS) -o $@ $(LDLIBS)
  99                 $(POST_PROCESS)
 100 
 101 aslcompilerlex.c: $(ACPICA)/compiler/aslcompiler.l
 102                 $(FLEX) $(LFLAGS) -PAslCompiler -o$@ $(ACPICA)/compiler/aslcompiler.l
 103 
 104 aslcompilerparse.c: $(ACPICA)/compiler/aslcompiler.y
 105                 $(BISON) $(YFLAGS) -pAslCompiler -o$@ $(ACPICA)/compiler/aslcompiler.y
 106                 $(RM) aslcompiler.y.h; $(MV) aslcompilerparse.h aslcompiler.y.h
 107 
 108 dtparserlex.c:  $(ACPICA)/compiler/dtparser.l
 109                 $(FLEX) $(LFLAGS) -PDtParser -o$@ $(ACPICA)/compiler/dtparser.l
 110 
 111 dtparserparse.c: $(ACPICA)/compiler/dtparser.y
 112                 $(BISON) $(YFLAGS) -pDtParser -o$@ $(ACPICA)/compiler/dtparser.y
 113                 $(RM) dtparser.y.h; $(MV) dtparserparse.h dtparser.y.h
 114 
 115 prparserlex.c:  $(ACPICA)/compiler/prparser.l
 116                 $(FLEX) $(LFLAGS) -PPrParser -o$@ $(ACPICA)/compiler/prparser.l
 117 
 118 prparserparse.c: $(ACPICA)/compiler/prparser.y
 119                 $(BISON) $(YFLAGS) -pPrParser -o$@ $(ACPICA)/compiler/prparser.y
 120                 $(RM) prparser.y.h; $(MV) prparserparse.h prparser.y.h
 121 
 122 
 123 %.o:            $(ACPICA)/common/%.c
 124                 $(COMPILE.c) -o $@ $<
 125                 $(POST_PROCESS_O)
 126 
 127 %.o:            $(ACPICA)/compiler/%.c
 128                 $(COMPILE.c) -o $@ $<
 129                 $(POST_PROCESS_O)
 130 
 131 %.o:            $(ACPICA)/components/debugger/%.c
 132                 $(COMPILE.c) -o $@ $<
 133                 $(POST_PROCESS_O)
 134 
 135 %.o:            $(ACPICA)/components/disassembler/%.c
 136                 $(COMPILE.c) -o $@ $<
 137                 $(POST_PROCESS_O)
 138 
 139 %.o:            $(ACPICA)/components/dispatcher/%.c
 140                 $(COMPILE.c) -o $@ $<
 141                 $(POST_PROCESS_O)
 142 
 143 %.o:            $(ACPICA)/components/executer/%.c
 144                 $(COMPILE.c) -o $@ $<
 145                 $(POST_PROCESS_O)
 146 
 147 %.o:            $(ACPICA)/components/namespace/%.c
 148                 $(COMPILE.c) -o $@ $<
 149                 $(POST_PROCESS_O)
 150 
 151 %.o:            $(ACPICA)/components/parser/%.c
 152                 $(COMPILE.c) -o $@ $<
 153                 $(POST_PROCESS_O)
 154 
 155 %.o:            $(ACPICA)/components/tables/%.c
 156                 $(COMPILE.c) -o $@ $<
 157                 $(POST_PROCESS_O)
 158 
 159 %.o:            $(ACPICA)/components/utilities/%.c
 160                 $(COMPILE.c) -o $@ $<
 161                 $(POST_PROCESS_O)
 162 
 163 %.o:            $(ACPICA)/os_specific/service_layers/%.c
 164                 $(COMPILE.c) -o $@ $<
 165                 $(POST_PROCESS_O)
 166 
 167 include         $(SRC)/cmd/Makefile.targ