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