Home | History | Annotate | Line # | Download | only in iasl
      1  1.29  christos # $NetBSD: Makefile,v 1.29 2025/08/28 15:46:22 christos Exp $
      2   1.1    jruoho 
      3  1.27  jmcneill .include <bsd.init.mk>
      4  1.27  jmcneill 
      5  1.27  jmcneill .if ${HAVE_ACPI:Uno} == "yes"
      6   1.1    jruoho PROG=	iasl
      7   1.1    jruoho .endif
      8   1.1    jruoho BINDIR=	/usr/bin
      9   1.1    jruoho MAN=	iasl.8
     10   1.1    jruoho WARNS=	0
     11   1.1    jruoho TOPDIR=	${NETBSDSRCDIR}/sys/external/bsd/acpica/dist/compiler
     12   1.1    jruoho 
     13   1.1    jruoho .include <bsd.own.mk>
     14   1.1    jruoho 
     15   1.1    jruoho CPPFLAGS+=	-I${TOPDIR}/../include -I${TOPDIR} -I.
     16  1.20      maya CPPFLAGS+=	-DACPI_ASL_COMPILER -DACPI_USE_ALTERNATE_TIMEOUT
     17   1.5  christos .if ${MKREPRO:Uno} == "yes"
     18   1.5  christos CPPFLAGS+=	-DACPI_REPRO
     19   1.5  christos .endif
     20  1.20      maya LDADD+=		-ll -ly
     21  1.20      maya DPADD+=		${LIBL} ${LIBY}
     22   1.1    jruoho 
     23  1.16  christos DPSRCS= aslcompilerparse.y aslcompilerlex.c aslcompilerparse.c \
     24  1.25  christos 	dtparserparse.c dtparserlex.c prparserparse.c prparserlex.c \
     25  1.25  christos 	dtcompilerparserparse.c dtcompilerparserlex.c
     26   1.1    jruoho 
     27   1.1    jruoho .PATH:	${TOPDIR}
     28   1.6  christos SRCS+= \
     29   1.6  christos 	adfile.c \
     30  1.17  christos 	aslallocate.c \
     31   1.6  christos 	aslanalyze.c \
     32   1.8  christos 	aslascii.c \
     33   1.6  christos 	aslbtypes.c \
     34  1.17  christos 	aslcache.c \
     35   1.6  christos 	aslcodegen.c \
     36   1.6  christos 	aslcompile.c \
     37   1.6  christos 	aslcompilerlex.c \
     38   1.6  christos 	aslcompilerparse.c \
     39  1.12  christos 	asldebug.c \
     40   1.6  christos 	aslerror.c \
     41  1.12  christos 	aslexternal.c \
     42   1.6  christos 	aslfileio.c \
     43   1.6  christos 	aslfiles.c \
     44   1.6  christos 	aslfold.c \
     45  1.13  christos 	aslhelp.c \
     46   1.6  christos 	aslhex.c \
     47   1.6  christos 	asllength.c \
     48   1.6  christos 	asllisting.c \
     49   1.6  christos 	asllistsup.c \
     50   1.6  christos 	aslload.c \
     51   1.6  christos 	asllookup.c \
     52   1.6  christos 	aslmain.c \
     53   1.6  christos 	aslmap.c \
     54   1.8  christos 	aslmapenter.c \
     55   1.8  christos 	aslmapoutput.c \
     56   1.8  christos 	aslmaputils.c \
     57   1.8  christos 	aslmessages.c \
     58   1.6  christos 	aslmethod.c \
     59   1.6  christos 	aslnamesp.c \
     60   1.6  christos 	asloffset.c \
     61   1.6  christos 	aslopcodes.c \
     62   1.6  christos 	asloperands.c \
     63   1.6  christos 	aslopt.c \
     64   1.6  christos 	asloptions.c \
     65  1.15  christos 	aslparseop.c \
     66  1.12  christos 	aslpld.c \
     67   1.6  christos 	aslpredef.c \
     68   1.6  christos 	aslprepkg.c \
     69   1.9  christos 	aslprintf.c \
     70   1.9  christos 	aslprune.c \
     71   1.6  christos 	aslresource.c \
     72   1.6  christos 	aslrestype1.c \
     73   1.6  christos 	aslrestype1i.c \
     74   1.6  christos 	aslrestype2.c \
     75   1.6  christos 	aslrestype2d.c \
     76   1.6  christos 	aslrestype2e.c \
     77   1.6  christos 	aslrestype2q.c \
     78   1.6  christos 	aslrestype2s.c \
     79   1.6  christos 	aslrestype2w.c \
     80   1.6  christos 	aslstartup.c \
     81   1.6  christos 	aslstubs.c \
     82   1.6  christos 	asltransform.c \
     83   1.6  christos 	asltree.c \
     84   1.6  christos 	aslutils.c \
     85   1.6  christos 	asluuid.c \
     86   1.6  christos 	aslwalks.c \
     87   1.6  christos 	aslxref.c \
     88  1.12  christos 	aslxrefout.c \
     89  1.14  christos 	cvcompiler.c \
     90  1.14  christos 	cvdisasm.c \
     91  1.14  christos 	cvparser.c \
     92   1.6  christos 	dtcompile.c \
     93   1.6  christos 	dtexpress.c \
     94   1.6  christos 	dtfield.c \
     95   1.6  christos 	dtio.c \
     96  1.25  christos 	dtcompilerparserlex.c \
     97  1.25  christos 	dtcompilerparserparse.c \
     98   1.6  christos 	dtparserlex.c \
     99   1.6  christos 	dtparserparse.c \
    100   1.6  christos 	dtsubtable.c \
    101   1.6  christos 	dttable.c \
    102  1.11  christos 	dttable1.c \
    103  1.11  christos 	dttable2.c \
    104   1.6  christos 	dttemplate.c \
    105   1.6  christos 	dtutils.c \
    106   1.6  christos 	prexpress.c \
    107   1.6  christos 	prmacros.c \
    108   1.6  christos 	prparserlex.c \
    109   1.6  christos 	prparserparse.c \
    110   1.6  christos 	prscan.c \
    111   1.6  christos 	prutils.c
    112   1.2    jruoho 
    113   1.1    jruoho .PATH: ${TOPDIR}/../common
    114   1.6  christos SRCS+= \
    115  1.11  christos 	acfileio.c \
    116   1.6  christos 	adisasm.c \
    117   1.6  christos 	adwalk.c \
    118   1.8  christos 	ahids.c \
    119   1.6  christos 	ahpredef.c \
    120  1.10  christos 	ahtable.c \
    121   1.8  christos 	ahuuids.c \
    122   1.8  christos 	cmfsize.c \
    123   1.6  christos 	dmextern.c \
    124   1.6  christos 	dmrestag.c \
    125  1.15  christos 	dmswitch.c \
    126   1.6  christos 	dmtable.c \
    127  1.11  christos 	dmtables.c \
    128   1.6  christos 	dmtbdump.c \
    129  1.18  christos 	dmtbdump1.c \
    130  1.18  christos 	dmtbdump2.c \
    131  1.18  christos 	dmtbdump3.c \
    132   1.6  christos 	dmtbinfo.c \
    133  1.18  christos 	dmtbinfo1.c \
    134  1.18  christos 	dmtbinfo2.c \
    135  1.18  christos 	dmtbinfo3.c \
    136   1.6  christos 	getopt.c
    137   1.2    jruoho 
    138   1.2    jruoho .PATH: ${TOPDIR}/../debugger
    139   1.2    jruoho SRCS+=  dbfileio.c
    140   1.2    jruoho 
    141   1.2    jruoho .PATH: ${TOPDIR}/../disassembler
    142   1.6  christos SRCS+= \
    143   1.6  christos 	dmbuffer.c \
    144   1.9  christos 	dmcstyle.c \
    145   1.6  christos 	dmdeferred.c \
    146   1.6  christos 	dmnames.c \
    147   1.6  christos 	dmopcode.c \
    148   1.6  christos 	dmresrc.c \
    149   1.6  christos 	dmresrcl.c \
    150   1.6  christos 	dmresrcl2.c \
    151   1.6  christos 	dmresrcs.c \
    152   1.6  christos 	dmutils.c \
    153   1.6  christos 	dmwalk.c
    154   1.2    jruoho 
    155   1.1    jruoho .PATH: ${TOPDIR}/../dispatcher
    156   1.6  christos SRCS+= \
    157   1.6  christos 	dsargs.c \
    158   1.6  christos 	dscontrol.c \
    159   1.6  christos 	dsfield.c \
    160   1.6  christos 	dsobject.c \
    161   1.6  christos 	dsopcode.c \
    162  1.15  christos 	dspkginit.c \
    163   1.6  christos 	dsutils.c \
    164   1.6  christos 	dswexec.c \
    165   1.6  christos 	dswload.c \
    166   1.6  christos 	dswload2.c \
    167   1.6  christos 	dswscope.c \
    168   1.2    jruoho 	dswstate.c
    169   1.2    jruoho 
    170   1.1    jruoho .PATH: ${TOPDIR}/../executer
    171   1.6  christos SRCS+= \
    172   1.6  christos 	exconvrt.c \
    173   1.6  christos 	excreate.c \
    174  1.12  christos 	exconcat.c \
    175   1.6  christos 	exdump.c \
    176   1.6  christos 	exmisc.c \
    177   1.6  christos 	exmutex.c \
    178   1.6  christos 	exnames.c \
    179   1.6  christos 	exoparg1.c \
    180   1.6  christos 	exoparg2.c \
    181   1.6  christos 	exoparg3.c \
    182   1.6  christos 	exoparg6.c \
    183   1.6  christos 	exprep.c \
    184   1.6  christos 	exregion.c \
    185   1.6  christos 	exresnte.c \
    186   1.6  christos 	exresolv.c \
    187   1.6  christos 	exresop.c \
    188   1.6  christos 	exstore.c \
    189   1.6  christos 	exstoren.c \
    190   1.6  christos 	exstorob.c \
    191   1.6  christos 	exsystem.c \
    192   1.6  christos 	exutils.c
    193   1.2    jruoho 
    194   1.2    jruoho .PATH: ${TOPDIR}/../parser
    195   1.6  christos SRCS+= \
    196   1.6  christos 	psargs.c \
    197   1.6  christos 	psloop.c \
    198   1.6  christos 	psobject.c \
    199   1.6  christos 	psopcode.c \
    200   1.6  christos 	psopinfo.c \
    201   1.6  christos 	psparse.c \
    202   1.6  christos 	psscope.c \
    203   1.6  christos 	pstree.c \
    204   1.6  christos 	psutils.c \
    205   1.6  christos 	pswalk.c
    206   1.2    jruoho 
    207   1.1    jruoho .PATH: ${TOPDIR}/../tables
    208   1.6  christos SRCS+=	\
    209   1.6  christos 	tbfadt.c \
    210   1.8  christos 	tbdata.c \
    211   1.6  christos 	tbinstal.c \
    212   1.6  christos 	tbprint.c \
    213   1.6  christos 	tbutils.c \
    214  1.11  christos 	tbxface.c \
    215  1.11  christos 	tbxfload.c
    216   1.2    jruoho 
    217   1.2    jruoho .PATH: ${TOPDIR}/../namespace
    218   1.6  christos SRCS+= \
    219   1.6  christos 	nsaccess.c \
    220   1.6  christos 	nsalloc.c \
    221   1.6  christos 	nsdump.c \
    222   1.6  christos 	nsnames.c \
    223   1.6  christos 	nsobject.c \
    224   1.6  christos 	nsparse.c \
    225   1.6  christos 	nssearch.c \
    226   1.6  christos 	nsutils.c \
    227   1.6  christos 	nswalk.c \
    228   1.6  christos 	nsxfobj.c \
    229   1.2    jruoho 
    230   1.2    jruoho .PATH: ${TOPDIR}/../utilities
    231   1.6  christos SRCS+= \
    232   1.6  christos 	utaddress.c \
    233   1.6  christos 	utalloc.c \
    234  1.12  christos 	utascii.c \
    235   1.6  christos 	utbuffer.c \
    236   1.6  christos 	utcache.c \
    237  1.28  christos 	utcksum.c \
    238   1.6  christos 	utcopy.c \
    239   1.6  christos 	utdebug.c \
    240   1.6  christos 	utdecode.c \
    241   1.6  christos 	utdelete.c \
    242   1.6  christos 	uterror.c \
    243   1.6  christos 	utexcep.c \
    244   1.6  christos 	utglobal.c \
    245   1.8  christos 	uthex.c \
    246   1.6  christos 	utinit.c \
    247   1.6  christos 	utlock.c \
    248   1.6  christos 	utmath.c \
    249   1.6  christos 	utmisc.c \
    250   1.6  christos 	utmutex.c \
    251  1.10  christos 	utnonansi.c \
    252   1.6  christos 	utobject.c \
    253   1.6  christos 	utosi.c \
    254   1.6  christos 	utownerid.c \
    255   1.6  christos 	utpredef.c \
    256  1.15  christos 	utresdecode.c \
    257   1.6  christos 	utresrc.c \
    258   1.6  christos 	utstate.c \
    259   1.6  christos 	utstring.c \
    260  1.15  christos 	utstrsuppt.c \
    261  1.13  christos 	utstrtoul64.c \
    262   1.8  christos 	utuuid.c \
    263   1.6  christos 	utxface.c \
    264   1.6  christos 	utxferror.c
    265   1.2    jruoho 
    266  1.14  christos #	utprint.c 
    267  1.14  christos 
    268   1.4    jruoho .PATH: ${TOPDIR}/../os_specific/service_layers
    269  1.13  christos SRCS+=	osunixxf.c
    270   1.1    jruoho 
    271  1.16  christos YHEADER=	# Generate headers
    272  1.16  christos YFLAGS+=-v	# Require debugging
    273  1.21      maya LFLAGS+=-i	# Case insensitivive parser
    274  1.16  christos 
    275  1.16  christos 
    276  1.16  christos # Prevent rules from firing.
    277  1.16  christos asltypes.h: asltypes.y
    278  1.16  christos 	@true
    279  1.16  christos asltypes.c: asltypes.y
    280  1.16  christos 	@true
    281   1.8  christos 
    282   1.8  christos aslparser.y: asltokens.y asltypes.y aslrules.y aslsupport.y
    283   1.8  christos 
    284  1.16  christos YPREFIX.aslcompilerparse.y=AslCompiler
    285  1.16  christos aslcompilerparse.y: aslparser.y
    286  1.24    martin 	${TOOL_M4} -P -I${TOPDIR} ${.ALLSRC} > ${.TARGET}.tmp.${.MAKE.PID} \
    287  1.24    martin 	&& mv ${.TARGET}.tmp.${.MAKE.PID} ${.TARGET}
    288   1.8  christos 
    289  1.16  christos aslcompiler.y.h: aslcompilerparse.h
    290  1.16  christos 	ln -sf ${.ALLSRC} ${.TARGET}
    291   1.1    jruoho 
    292  1.16  christos LPREFIX.aslcompilerlex.l=AslCompiler
    293  1.16  christos aslcompilerlex.l: ${TOPDIR}/aslcompiler.l
    294  1.16  christos 	ln -sf ${.ALLSRC} ${.TARGET}
    295   1.1    jruoho 
    296   1.7  christos 
    297  1.16  christos YPREFIX.dtparserparse.y=DtParser
    298  1.16  christos dtparserparse.y: ${TOPDIR}/dtparser.y
    299  1.16  christos 	ln -sf ${.ALLSRC} ${.TARGET}
    300   1.4    jruoho 
    301  1.16  christos dtparser.y.h: dtparserparse.h
    302  1.16  christos 	ln -sf ${.ALLSRC} ${.TARGET}
    303   1.4    jruoho 
    304  1.16  christos LPREFIX.dtparserlex.l=DtParser
    305  1.16  christos dtparserlex.l: ${TOPDIR}/dtparser.l
    306  1.16  christos 	ln -sf ${.ALLSRC} ${.TARGET}
    307   1.7  christos 
    308  1.25  christos YPREFIX.dtcompilerparserparse.y=DtCompilerParser
    309  1.25  christos YFLAGS.dtcompilerparserparse.y += -L
    310  1.25  christos dtcompilerparserparse.y: ${TOPDIR}/dtcompilerparser.y
    311  1.25  christos 	ln -sf ${.ALLSRC} ${.TARGET}
    312  1.25  christos 
    313  1.25  christos dtcompilerparser.y.h: dtcompilerparserparse.h
    314  1.25  christos 	ln -sf ${.ALLSRC} ${.TARGET}
    315  1.25  christos 
    316  1.25  christos LPREFIX.dtcompilerparserlex.l=DtCompilerParser
    317  1.25  christos LFLAGS.dtcompilerparserlex.l += --bison-locations
    318  1.25  christos dtcompilerparserlex.l: ${TOPDIR}/dtcompilerparser.l
    319  1.25  christos 	ln -sf ${.ALLSRC} ${.TARGET}
    320   1.6  christos 
    321  1.16  christos YPREFIX.prparserparse.y=PrParser
    322  1.16  christos prparserparse.y: ${TOPDIR}/prparser.y
    323  1.16  christos 	ln -sf ${.ALLSRC} ${.TARGET}
    324   1.6  christos 
    325  1.16  christos prparser.y.h: prparserparse.h
    326  1.16  christos 	ln -sf ${.ALLSRC} ${.TARGET}
    327   1.7  christos 
    328  1.16  christos LPREFIX.prparserlex.l=PrParser
    329  1.16  christos prparserlex.l: ${TOPDIR}/prparser.l
    330  1.16  christos 	ln -sf ${.ALLSRC} ${.TARGET}
    331  1.16  christos 
    332  1.25  christos CLEANFILES+=	aslcompilerparse.y  aslcompilerparse.c			\
    333  1.25  christos 		aslcompilerparse.h					\
    334  1.25  christos 		aslcompiler.y.h aslcompilerparse.output		 	\
    335  1.25  christos 		aslcompilerlex.l aslcompilerlex.c			\
    336  1.25  christos 									\
    337  1.25  christos 		dtparserparse.y dtparserparse.c				\
    338  1.25  christos 		dtparserparse.h						\
    339  1.25  christos 		dtparserlex.l dtparserlex.c				\
    340  1.25  christos 		dtparser.y.h dtparserparse.output			\
    341  1.25  christos 									\
    342  1.25  christos 		dtcompilerparserparse.y dtcompilerparserparse.c		\
    343  1.25  christos 		dtcompilerparserparse.h					\
    344  1.25  christos 		dtcompilerparserlex.l dtcompilerparserlex.c		\
    345  1.25  christos 		dtcompilerparser.y.h dtcompilerparserparse.output	\
    346  1.25  christos 									\
    347  1.25  christos 		prparserparse.y prparserparse.c				\
    348  1.25  christos 		prparserparse.h						\
    349  1.25  christos 		prparserlex.l prparserlex.c				\
    350  1.25  christos 		prparser.y.h prparserparse.output			\
    351  1.25  christos 									\
    352  1.19       mrg 		y.output y.tab.h
    353   1.1    jruoho 
    354   1.1    jruoho .include <bsd.prog.mk>
    355  1.16  christos 
    356  1.25  christos ${__DPSRCS.d} ${OBJS}: prparser.y.h dtparser.y.h aslcompiler.y.h \
    357  1.25  christos 	dtcompilerparser.y.h
    358  1.29  christos 
    359  1.29  christos # ia64 compiler bug. acpi_table_header pointer is casted to ACPI_TABLE_RSDP
    360  1.29  christos # both structures have a Signature member,
    361  1.29  christos # sizeof(acpi_table_header->Signature) == 4
    362  1.29  christos # sizeof(ACPI_TABLE_RSDP->Signature) == 8
    363  1.29  christos # the compiler knows that it is 8 after the cast because a 
    364  1.29  christos # __CTASSERT(sizeof(ACPI_CAST_PTR (ACPI_TABLE_RSDP, Table)->Signature) == 8);
    365  1.29  christos # works, but then gets confused and thinks that we are trying to copy into 4.
    366  1.29  christos .if ${MACHINE} == "ia64"
    367  1.29  christos COPTS.dmtable.c += -Wno-error=stringop-overread
    368  1.29  christos COPTS.tbprint.c += -Wno-error=stringop-overread
    369  1.29  christos .endif
    370