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