Add ACPI support module for IBM/Lenovo Thinkpad laptops. Work in progress,
[dragonfly.git] / sys / dev / acpica5 / Makefile
... / ...
CommitLineData
1# $FreeBSD: src/sys/modules/acpi/acpi/Makefile,v 1.3 2004/01/08 16:38:32 njl Exp $
2# $DragonFly: src/sys/dev/acpica5/Makefile,v 1.22 2008/08/28 07:10:05 hasso Exp $
3
4CONTRIBDIR= ${SYSDIR}/${ACPICA_DIR}
5# patches to fix problems in ACPI-CA code
6PATCHES= hardware,hwsleep.c.patch tables,tbxface.c.patch
7# patches to silence warnings
8PATCHES+= include,acglobal.h.patch debugger,dbstats.c.patch
9
10SYSDIR?= ${.CURDIR}/../..
11.if ACPI_DEBUG_LOCKS || ACPI_DEBUG_MEMMAP || ACPI_DEBUG_CACHE
12CFLAGS+= -I${.OBJDIR}/include
13.if ACPI_DEBUG_LOCKS
14CFLAGS+= -DACPI_DEBUG_LOCKS=1
15.endif
16.if ACPI_DEBUG_MEMMAP
17CFLAGS+= -DACPI_DEBUG_MEMMAP=1
18.endif
19.if ACPI_DEBUG_CACHE
20CFLAGS+= -DACPI_DEBUG_CACHE=1
21.endif
22PATCHES+= include,acpiosxf.h.patch
23.endif
24
25.include "Makefile.inc"
26
27.PATH: ${.OBJDIR} \
28 ${.OBJDIR}/include \
29 ${SYSDIR}/${OSACPI_MD_DIR} \
30 ${SYSDIR}/platform/${MACHINE_PLATFORM}/isa \
31 ${SYSDIR}/bus/pci \
32 ${.CURDIR}/Osd \
33 ${.CURDIR} \
34 ${ACPICA_KERN_PATHS}
35
36KMOD = acpi
37
38SRCS+= ${PATCHES}
39# ACPI CA sources
40SRCS+= dsfield.c dsinit.c dsmethod.c dsmthdat.c
41SRCS+= dsobject.c dsopcode.c dsutils.c dswexec.c dswload.c
42SRCS+= dswscope.c dswstate.c evevent.c evgpe.c evgpeblk.c
43SRCS+= evmisc.c evregion.c evrgnini.c evsci.c evxface.c
44SRCS+= evxfevnt.c evxfregn.c exconfig.c exconvrt.c excreate.c
45SRCS+= exdump.c exfield.c exfldio.c exmisc.c exmutex.c
46SRCS+= exnames.c exoparg1.c exoparg2.c exoparg3.c exoparg6.c
47SRCS+= exprep.c exregion.c exresnte.c exresolv.c exresop.c
48SRCS+= exstore.c exstoren.c exstorob.c exsystem.c exutils.c
49SRCS+= hwacpi.c hwgpe.c hwregs.c hwsleep.c hwtimer.c
50SRCS+= nsaccess.c nsalloc.c nsdump.c nseval.c nsinit.c
51SRCS+= nsload.c nsnames.c nsobject.c nsparse.c nssearch.c
52SRCS+= nsutils.c nswalk.c nsxfeval.c nsxfname.c nsxfobj.c
53SRCS+= psargs.c psloop.c psopcode.c psparse.c psscope.c
54SRCS+= pstree.c psutils.c pswalk.c psxface.c
55SRCS+= rsaddr.c rscalc.c rscreate.c rsdump.c rsinfo.c rsio.c
56SRCS+= rsirq.c rslist.c rsmemory.c rsmisc.c rsutils.c
57SRCS+= rsxface.c tbfadt.c tbfind.c tbinstal.c
58SRCS+= tbutils.c tbxface.c tbxfroot.c utalloc.c
59SRCS+= utclib.c utcopy.c utdebug.c utdelete.c uteval.c
60SRCS+= utglobal.c utinit.c utmath.c utmisc.c utmutex.c utobject.c
61SRCS+= utresrc.c utstate.c utxface.c
62
63# OSD layer
64#
65SRCS+= acpi.c acpi_acad.c acpi_battery.c acpi_button.c acpi_cmbat.c acpi_cpu.c
66SRCS+= acpi_ec.c acpi_isab.c acpi_lid.c
67SRCS+= acpi_package.c
68# The PCI part of ACPI5 doesn't work with the current infrastructure
69# SRCS+= acpi_pci.c acpi_pcib.c acpi_pcib_acpi.c acpi_pcib_pci.c
70# SRCS+= acpi_pci_link.c
71SRCS+= acpi_powerres.c acpi_resource.c acpi_thermal.c
72SRCS+= acpi_timer.c acpi_if.c
73SRCS+= OsdDebug.c
74SRCS+= OsdHardware.c OsdInterface.c OsdInterrupt.c OsdMemory.c OsdSchedule.c
75SRCS+= OsdStream.c OsdSynch.c OsdTable.c OsdEnvironment.c
76SRCS+= opt_acpi.h opt_bus.h opt_ddb.h
77SRCS+= device_if.h bus_if.h pci_if.h pcib_if.h isa_if.h acpi_if.h
78MFILES = kern/device_if.m kern/bus_if.m bus/pci/pci_if.m bus/pci/pcib_if.m
79MFILES+= bus/isa/isa_if.m dev/acpica5/acpi_if.m
80
81# Debugging support
82DBSRC= dbcmds.c dbdisply.c dbexec.c dbfileio.c dbhistry.c
83DBSRC+= dbinput.c dbstats.c dbutils.c dbxface.c
84DBSRC+= dmbuffer.c dmnames.c dmopcode.c dmobject.c dmresrc.c dmresrcl.c
85DBSRC+= dmresrcs.c dmutils.c dmwalk.c
86
87.if ACPI_NO_SEMAPHORES
88CFLAGS+=-DACPI_NO_SEMAPHORES
89.endif
90.if ACPI_DEBUG
91CFLAGS+=-DACPI_DEBUG
92SRCS+= ${DBSRC}
93opt_ddb.h: Makefile
94 echo "#define DDB 1" > ${.TARGET}
95.else
96opt_ddb.h: Makefile
97 echo -n > ${.TARGET}
98.endif
99.if ACPI_USE_LOCAL_CACHE
100CFLAGS+= -DACPI_USE_LOCAL_CACHE
101SRCS+= utcache.c
102.else
103SRCS+= OsdCache.c
104.endif
105
106# Machine-specific code such as sleep/wakeup
107SRCS+= acpi_machdep.c acpi_wakecode.h acpi_wakeup.c
108.if ${MACHINE_ARCH} == "i386"
109# APIC enumerators
110#SRCS+= madt.c
111SRCS+= pmtimer.c
112.endif
113CLEANFILES+= acpi_wakecode.h acpi_wakecode.o acpi_wakecode.bin ${DBSRC}
114CLEANFILES+= platform/acenv.h
115
116acpi_wakecode.h: acpi_wakecode.S
117 ${MAKE} -f ${SYSDIR}/${OSACPI_MD_DIR}/Makefile \
118 MAKESRCPATH=${SYSDIR}/${OSACPI_MD_DIR}
119
120SUBDIR= acpi_thinkpad acpi_toshiba
121all: ${PROG} ${SUBDIR}
122
123# *.o file for each patched *.c file is created under the same directory,
124# rather than right below ${.OBJDIR}.
125.for _p in ${PATCHES:M*.c.patch}
126SRCS:= ${SRCS:N${_p:C/^.*,//:R}}
127${_p:S|,|/|g:R:R}.o: ${_p}
128 ${CC} ${CFLAGS} -o ${.TARGET} -c ${.IMPSRC}
129.endfor
130
131.include <bsd.kmod.mk>