CC = kos32-gcc

DRV_DIR = $(CURDIR)/../..

INCLUDES = -I./include -I$(DRV_DIR)/include -I$(DRV_DIR)/include/linux -I$(DRV_DIR)/include/uapi

DEFINES = -DACPI_LIBRARY -D_SINGLE_THREADED -D__KERNEL__ -DCONFIG_X86_32 -DCONFIG_X86_L1_CACHE_SHIFT=6 -DCONFIG_ARCH_HAS_CACHE_LINE_SIZE -DLINUX_MOD_DEVICETABLE_H -DACPI_LOG="/tmp0/1/acpi.log"

CFLAGS = -c -O2 -march=i686 -fno-ident -msse2 -fomit-frame-pointer -fno-builtin-printf
CFLAGS += -mno-stack-arg-probe -mpreferred-stack-boundary=2 -mincoming-stack-boundary=2 -mno-ms-bitfields

NAME = ACPICA

ACPICA_SRCS = \
        debugger/dbcmds.c \
        debugger/dbdisply.c \
        debugger/dbexec.c \
        debugger/dbfileio.c \
        debugger/dbhistry.c \
        debugger/dbinput.c \
        debugger/dbstats.c \
        debugger/dbutils.c \
        debugger/dbxface.c \
        disassembler/dmbuffer.c \
        disassembler/dmnames.c \
        disassembler/dmobject.c \
        disassembler/dmopcode.c \
        disassembler/dmresrc.c \
        disassembler/dmresrcl.c \
        disassembler/dmresrcs.c \
        disassembler/dmutils.c \
        disassembler/dmwalk.c \
        events/evevent.c \
        events/evglock.c \
        events/evgpe.c \
        events/evgpeblk.c \
        events/evgpeinit.c \
        events/evgpeutil.c \
        events/evmisc.c \
        events/evregion.c \
        events/evrgnini.c \
        events/evsci.c \
        events/evxface.c \
        events/evxfevnt.c \
        events/evxfregn.c \
        hardware/hwacpi.c \
        hardware/hwgpe.c \
        hardware/hwpci.c \
        hardware/hwregs.c \
        hardware/hwsleep.c \
        hardware/hwvalid.c \
        hardware/hwxface.c \
        dispatcher/dsargs.c \
        dispatcher/dscontrol.c \
        dispatcher/dsfield.c \
        dispatcher/dsinit.c \
        dispatcher/dsmethod.c \
        dispatcher/dsmthdat.c \
        dispatcher/dsobject.c \
        dispatcher/dsopcode.c \
        dispatcher/dsutils.c \
        dispatcher/dswexec.c \
        dispatcher/dswload.c \
        dispatcher/dswload2.c \
        dispatcher/dswscope.c \
        dispatcher/dswstate.c \
        executer/exconfig.c \
        executer/exconvrt.c \
        executer/excreate.c \
        executer/exdebug.c \
        executer/exdump.c \
        executer/exfield.c \
        executer/exfldio.c \
        executer/exmisc.c \
        executer/exmutex.c \
        executer/exnames.c \
        executer/exoparg1.c \
        executer/exoparg2.c \
        executer/exoparg3.c \
        executer/exoparg6.c \
        executer/exprep.c \
        executer/exregion.c \
        executer/exresnte.c \
        executer/exresolv.c \
        executer/exresop.c \
        executer/exstore.c \
        executer/exstoren.c \
        executer/exstorob.c \
        executer/exsystem.c \
        executer/exutils.c \
        parser/psargs.c \
        parser/psloop.c \
        parser/psopcode.c \
        parser/psparse.c \
        parser/psscope.c \
        parser/pstree.c \
        parser/psutils.c \
        parser/pswalk.c \
        parser/psxface.c \
        namespace/nsaccess.c \
        namespace/nsalloc.c \
        namespace/nsdump.c \
        namespace/nsdumpdv.c \
        namespace/nseval.c \
        namespace/nsinit.c \
        namespace/nsload.c \
        namespace/nsnames.c \
        namespace/nsobject.c \
        namespace/nsparse.c \
        namespace/nspredef.c \
        namespace/nsrepair.c \
        namespace/nsrepair2.c \
        namespace/nssearch.c \
        namespace/nsutils.c \
        namespace/nswalk.c \
        namespace/nsxfeval.c \
        namespace/nsxfname.c \
        namespace/nsxfobj.c \
        resources/rsaddr.c \
        resources/rscalc.c \
        resources/rscreate.c \
        resources/rsdump.c \
        resources/rsio.c \
        resources/rsinfo.c \
        resources/rsirq.c \
        resources/rslist.c \
        resources/rsmemory.c \
        resources/rsmisc.c \
        resources/rsutils.c \
        resources/rsxface.c \
        tables/tbfadt.c \
        tables/tbfind.c \
        tables/tbinstal.c \
        tables/tbutils.c \
        tables/tbxface.c \
        tables/tbxfroot.c \
        utilities/utclib.c \
        utilities/utalloc.c \
        utilities/utcache.c \
        utilities/utcopy.c \
        utilities/utdebug.c \
        utilities/utdelete.c \
        utilities/uteval.c \
        utilities/utglobal.c \
        utilities/utids.c \
        utilities/utinit.c \
        utilities/utlock.c \
        utilities/utmath.c \
        utilities/utmisc.c \
        utilities/utmutex.c \
        utilities/utobject.c \
        utilities/utresrc.c \
        utilities/utstate.c \
        utilities/uttrack.c \
        utilities/utxface.c \
        utilities/utxferror.c \
        utilities/utdecode.c  \
        utilities/utosi.c  \
        osunixxf.c

ACPICA_OBJS = $(patsubst %.c,%.o, $(ACPICA_SRCS))

libacpica.a : $(ACPICA_OBJS) $(ACPICA_SRCS)
	$(AR) cvrs $@ $(ACPICA_OBJS)

%.o: %.c Makefile
	$(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -o $@ $<

clean :
	rm -f $(ACPICA_OBJS)

