SubDir HAIKU_TOP src add-ons kernel bus_managers acpi ;

UsePrivateKernelHeaders ;
SubDirHdrs [ FDirName $(SUBDIR) include ] ;
SubDirHdrs [ FDirName $(SUBDIR) include platform ] ;
SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) pci ] ;
SubDirCcFlags -fno-pic -D_KERNEL_MODE ;

local events_src =
	evevent.c
	evgpe.c
	evgpeblk.c
	evmisc.c
	evregion.c
	evrgnini.c
	evsci.c
	evxface.c
	evxfevnt.c
	evxfregn.c
	;

local hardware_src = 
	hwacpi.c
	hwgpe.c
	hwregs.c
	hwsleep.c
	hwtimer.c
	hwvalid.c
	hwxface.c
;

local debugger_src =
	dbdisply.c
	dbxface.c
;

local disassembler_src =
	dmobject.c
;

local dispatcher_src =
	dsfield.c
	dsinit.c
	dsmethod.c
	dsmthdat.c
	dsobject.c
	dsopcode.c
	dsutils.c
	dswexec.c
	dswload.c
	dswscope.c
	dswstate.c
	;

local executer_src =
	exconfig.c
	exconvrt.c
	excreate.c
	exdump.c
	exfield.c
	exfldio.c
	exmisc.c
	exmutex.c
	exnames.c
	exoparg1.c
	exoparg2.c
	exoparg3.c
	exoparg6.c
	exprep.c
	exregion.c
	exresnte.c
	exresolv.c
	exresop.c
	exstore.c
	exstoren.c
	exstorob.c
	exsystem.c
	exutils.c
	;

local parser_src =
	psargs.c
	psloop.c
	psopcode.c
	psparse.c
	psscope.c
	pstree.c
	psutils.c
	pswalk.c
	psxface.c
	;

local namespace_src =
	nsaccess.c
	nsalloc.c
	nsdump.c
	nsdumpdv.c
	nseval.c
	nsinit.c
	nsload.c
	nsnames.c
	nsobject.c
	nsparse.c
	nspredef.c
	nsrepair.c
	nsrepair2.c
	nssearch.c
	nsutils.c
	nswalk.c
	nsxfeval.c
	nsxfname.c
	nsxfobj.c
	;

local resources_src =
	rsaddr.c
	rscalc.c
	rscreate.c
	rsdump.c
	rsinfo.c
	rsio.c
	rsirq.c
	rslist.c
	rsmemory.c
	rsmisc.c
	rsutils.c
	rsxface.c
	;

local tables_src =
	tbfadt.c
	tbfind.c
	tbinstal.c
	tbutils.c
	tbxface.c
	tbxfroot.c
	;

local utilities_src =
	utalloc.c
	utcache.c
	utclib.c
	utcopy.c
	utdebug.c
	utdelete.c
	uteval.c
	utglobal.c
	utids.c
	utinit.c
	utlock.c
	utmath.c
	utmisc.c
	utmutex.c
	utobject.c
	utresrc.c
	utstate.c
	uttrack.c
	utxface.c 
	;

StaticLibrary libacpi_ca.a :
	$(events_src)
	$(hardware_src)
	$(dispatcher_src)
	$(executer_src)
	$(parser_src)
	$(namespace_src)
	$(resources_src)
	$(tables_src)
	$(utilities_src)
	 ;

SEARCH on [ FGristFiles $(events_src)  ] = [ FDirName $(HAIKU_TOP) src add-ons kernel bus_managers acpi events ] ;
SEARCH on [ FGristFiles $(hardware_src)  ] = [ FDirName $(HAIKU_TOP) src add-ons kernel bus_managers acpi hardware ] ;
SEARCH on [ FGristFiles $(namespace_src)  ] = [ FDirName $(HAIKU_TOP) src add-ons kernel bus_managers acpi namespace ] ;
SEARCH on [ FGristFiles $(resources_src)  ] = [ FDirName $(HAIKU_TOP) src add-ons kernel bus_managers acpi resources ] ;
SEARCH on [ FGristFiles $(tables_src) tbutils.c ] = [ FDirName $(HAIKU_TOP) src add-ons kernel bus_managers acpi tables ] ;
SEARCH on [ FGristFiles $(utilities_src)  ] = [ FDirName $(HAIKU_TOP) src add-ons kernel bus_managers acpi utilities ] ;
SEARCH on [ FGristFiles $(dispatcher_src)  ] = [ FDirName $(HAIKU_TOP) src add-ons kernel bus_managers acpi dispatcher ] ;
SEARCH on [ FGristFiles $(executer_src)  ] = [ FDirName $(HAIKU_TOP) src add-ons kernel bus_managers acpi executer ] ;
SEARCH on [ FGristFiles $(parser_src)  ] = [ FDirName $(HAIKU_TOP) src add-ons kernel bus_managers acpi parser ] ;

KernelAddon acpi :
	oshaiku.c
	acpi_busman.c
	acpi_module.c
	acpi_device.c
	acpi_ns_dump.cpp
	acpi_embedded_controller.cpp
	SmallResourceData.cpp
	:
	libacpi_ca.a
	;
