Merge from vendor branch LIBARCHIVE:
[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.20 2007/03/26 02:34:39 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 || ACPI_DEBUG_CACHE
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 .if ACPI_DEBUG_CACHE
20 CFLAGS+=        -DACPI_DEBUG_CACHE=1
21 .endif
22 PATCHES+=       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
36 KMOD    = acpi
37
38 SRCS+=          ${PATCHES}
39 # ACPI CA sources
40 SRCS+=  dsfield.c dsinit.c dsmethod.c dsmthdat.c
41 SRCS+=  dsobject.c dsopcode.c dsutils.c dswexec.c dswload.c
42 SRCS+=  dswscope.c dswstate.c evevent.c evgpe.c evgpeblk.c
43 SRCS+=  evmisc.c evregion.c evrgnini.c evsci.c evxface.c
44 SRCS+=  evxfevnt.c evxfregn.c exconfig.c exconvrt.c excreate.c
45 SRCS+=  exdump.c exfield.c exfldio.c exmisc.c exmutex.c
46 SRCS+=  exnames.c exoparg1.c exoparg2.c exoparg3.c exoparg6.c
47 SRCS+=  exprep.c exregion.c exresnte.c exresolv.c exresop.c
48 SRCS+=  exstore.c exstoren.c exstorob.c exsystem.c exutils.c
49 SRCS+=  hwacpi.c hwgpe.c hwregs.c hwsleep.c hwtimer.c
50 SRCS+=  nsaccess.c nsalloc.c nsdump.c nseval.c nsinit.c
51 SRCS+=  nsload.c nsnames.c nsobject.c nsparse.c nssearch.c
52 SRCS+=  nsutils.c nswalk.c nsxfeval.c nsxfname.c nsxfobj.c
53 SRCS+=  psargs.c psloop.c psopcode.c psparse.c psscope.c
54 SRCS+=  pstree.c psutils.c pswalk.c psxface.c
55 SRCS+=  rsaddr.c rscalc.c rscreate.c rsdump.c rsinfo.c rsio.c
56 SRCS+=  rsirq.c rslist.c rsmemory.c rsmisc.c rsutils.c
57 SRCS+=  rsxface.c tbfadt.c tbfind.c tbinstal.c
58 SRCS+=  tbutils.c tbxface.c tbxfroot.c utalloc.c
59 SRCS+=  utclib.c utcopy.c utdebug.c utdelete.c uteval.c
60 SRCS+=  utglobal.c utinit.c utmath.c utmisc.c utmutex.c utobject.c
61 SRCS+=  utresrc.c utstate.c utxface.c
62
63 # OSD layer
64 #
65 SRCS+=  acpi.c acpi_acad.c acpi_battery.c acpi_button.c acpi_cmbat.c acpi_cpu.c
66 SRCS+=  acpi_ec.c acpi_isab.c acpi_lid.c
67 SRCS+=  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
71 SRCS+=  acpi_powerres.c acpi_resource.c acpi_thermal.c
72 SRCS+=  acpi_timer.c
73 SRCS+=  OsdDebug.c
74 SRCS+=  OsdHardware.c OsdInterface.c OsdInterrupt.c OsdMemory.c OsdSchedule.c
75 SRCS+=  OsdStream.c OsdSynch.c OsdTable.c OsdEnvironment.c
76 SRCS+=  opt_acpi.h opt_bus.h opt_ddb.h
77 SRCS+=  device_if.h bus_if.h pci_if.h pcib_if.h isa_if.h
78
79 # Debugging support
80 DBSRC=  dbcmds.c dbdisply.c dbexec.c dbfileio.c dbhistry.c
81 DBSRC+= dbinput.c dbstats.c dbutils.c dbxface.c
82 DBSRC+= dmbuffer.c dmnames.c dmopcode.c dmobject.c dmresrc.c dmresrcl.c
83 DBSRC+= dmresrcs.c dmutils.c dmwalk.c
84
85 .if ACPI_NO_SEMAPHORES
86 CFLAGS+=-DACPI_NO_SEMAPHORES
87 .endif
88 .if ACPI_DEBUG
89 CFLAGS+=-DACPI_DEBUG
90 SRCS+=  ${DBSRC}
91 opt_ddb.h: Makefile
92         echo "#define DDB 1" > ${.TARGET}
93 .else
94 opt_ddb.h: Makefile
95         echo -n > ${.TARGET}
96 .endif
97 .if ACPI_USE_LOCAL_CACHE
98 CFLAGS+= -DACPI_USE_LOCAL_CACHE
99 SRCS+=          utcache.c
100 .else
101 SRCS+=          OsdCache.c
102 .endif
103
104 # Machine-specific code such as sleep/wakeup
105 SRCS+=  acpi_machdep.c acpi_wakecode.h acpi_wakeup.c
106 .if ${MACHINE_ARCH} == "i386"
107 # APIC enumerators
108 #SRCS+= madt.c
109 SRCS+=  pmtimer.c
110 .endif
111 CLEANFILES+=    acpi_wakecode.h acpi_wakecode.o acpi_wakecode.bin ${DBSRC}
112 CLEANFILES+=    platform/acenv.h
113
114 acpi_wakecode.h: acpi_wakecode.S
115         ${MAKE} -f ${SYSDIR}/${OSACPI_MD_DIR}/Makefile \
116                 MAKESRCPATH=${SYSDIR}/${OSACPI_MD_DIR}
117
118 SUBDIR= acpi_toshiba
119 all: ${PROG} ${SUBDIR}
120
121 # *.o file for each patched *.c file is created under the same directory,
122 # rather than right below ${.OBJDIR}.
123 .for _p in ${PATCHES:M*.c.patch}
124 SRCS:=  ${SRCS:N${_p:C/^.*,//:R}}
125 ${_p:S|,|/|g:R:R}.o: ${_p}
126         ${CC} ${CFLAGS} -o ${.TARGET} -c ${.IMPSRC}
127 .endfor
128
129 .include <bsd.kmod.mk>