libacpica 0.0.8

Bindings to the ACPI Component Architecture
Documentation
ifeq ($(TARGET),x86_64-nrk)
 CLANG_TRIPLE := x86_64-elf
endif

SRCDIR := acpica/source/
OBJDIR := $(OUT_DIR).obj/$(TARGET)/

SRCS := $(wildcard $(SRCDIR)components/*/*.c)
SRCS := $(filter-out $(SRCDIR)components/disassembler/%,$(SRCS))
SRCS := $(filter-out $(SRCDIR)components/debugger/%,$(SRCS))
SRCS := $(filter-out $(SRCDIR)components/resources/rsdump.c,$(SRCS))
#SRCS := $(filter-out $(SRCDIR)components/events/%,$(SRCS))
SRCS += $(SRCDIR)components/hardware/hwacpi.c
#SRCS += $(SRCDIR)common/ahuuids.c $(SRCDIR)common/ahids.c
#SRCS += $(SRCDIR)compiler/aslmapenter.c
OBJS := $(SRCS:$(SRCDIR)%.c=$(OBJDIR)%.o)

CPPFLAGS := -I $(SRCDIR)include/ -D NRK -DACPI_DEBUG_OUTPUT -DACPI_APPLICATION
CFLAGS := -ffreestanding -Wno-redundant-decls -Wno-unused-function -nostdlib -nodefaultlibs -lgcc
CFLAGS += -O2 -fPIC

.PHONY: all clean srcdir

all: $(OUT_DIR)/libacpica-$(TARGET).a

clean:
	rm -rf $(OUT_DIR)libacpica-$(TARGET).a $(OBJDIR)

$(OUT_DIR)/libacpica-$(TARGET).a: $(SRCDIR) $(OBJS)
	@echo [AR] $@
	@rm -f $@ && ar rc $@ $(OBJS)

$(OBJDIR)%.o: $(SRCDIR)%.c _Makefile
	@mkdir -p $(dir $@)
	@echo [GCC] -o $@
	@gcc $(CFLAGS) $(CPPFLAGS) -m64 -o $@ -c $<