Merge branch 'master' of git://localhost/acess2
[tpg/acess2.git] / Externals / ACPICA / Makefile
1
2
3 include $(dir $(lastword $(MAKEFILE_LIST)))../../Makefile.cfg
4
5 BIN := ../bin-$(ARCH)/libacpica.a
6
7 _VERS := $(patsubst acpica-unix-%.tar.gz,%,$(wildcard acpica-unix-*.tar.gz))
8 _VERS := $(sort $(_VERS))
9 _LATEST := $(lastword $(_VERS))
10
11 ifeq ($(ACPICAVER),)
12  ifeq ($(_LATEST),)
13   $(warning Unable to find an archive matching acpica-unix-%.tar.gz)
14   $(warning Go to https://www.acpica.org/downloads/ to get it)
15   $(error No ACPICA archive found)
16  endif
17  
18  ifneq ($(_LATEST),$(_VERS))
19   $(warning Multiple archvies found, picked $(_LATEST))
20  endif
21  ACPICAVER := $(_LATEST)
22 endif
23
24 ACPICAROOT := acpica-unix-$(ACPICAVER)/
25 ACPICA_ARCHIVE := acpica-unix-$(ACPICAVER).tar.gz
26 COMPDIR := $(ACPICAROOT)source/components/
27 KERNELDIR := ../../KernelLand/Kernel/
28
29 CPPFLAGS        += -I $(KERNELDIR)include -I$(KERNELDIR)arch/$(ARCHDIR)/include -D_MODULE_NAME_=\"ACPICA\"
30 CPPFLAGS        += -I $(ACPICAROOT)source/include -D _ACESS -D __KERNEL__
31 CPPFLAGS        += -D ARCH=$(ARCH) -D ARCHDIR=$(ARCHDIR) -D PLATFORM=\"$(PLATFORM)\" -D ARCHDIR_IS_$(ARCHDIR)=1 -D PLATFORM_is_$(PLATFORM)=1
32 CPPFLAGS        += -D KERNEL_VERSION=$(KERNEL_VERSION) -ffreestanding
33 CFLAGS          += -Wall -fno-stack-protector -Wstrict-prototypes -std=gnu99 -g
34
35 SRCS := $(wildcard $(COMPDIR)*/*.c)
36 OBJS := $(SRCS:$(COMPDIR)%.c=obj-$(ARCH)/%.o)
37
38 ACENV_H := $(ACPICAROOT)source/include/platform/acenv.h
39 ACACESS_H := $(ACPICAROOT)source/include/platform/acacess.h
40
41 .PHONY: all clean
42
43 ifeq ($(words $(SRCS)),0)
44 extract: $(ACPICAROOT)
45         @echo Re-run make to compile
46 endif
47
48 all: $(BIN) include
49
50 clean:
51         $(RM) -r obj-$(ARCH)/ include
52
53 purge: clean
54         $(RM) -r $(ACPICAROOT)
55
56 $(BIN): $(OBJS)
57         @mkdir -p $(dir $@)
58         @echo [AR] $@
59         @ar rcu $@ $(OBJS)
60
61 include:
62         ln -s $(ACPICAROOT)source/include
63
64 $(ACPICAROOT): $(ACPICA_ARCHIVE)
65         tar -xf $(ACPICA_ARCHIVE)
66
67 $(ACACESS_H): acacess.h
68         cp $< $@
69
70 $(ACENV_H): $(ACPICA_ARCHIVE) Makefile
71         tar -x -O -f $(ACPICA_ARCHIVE) $(ACENV_H) | sed 's/aclinux/acacess/' | sed 's/_LINUX/_ACESS/' > $@
72
73 obj-$(ARCH)/%.o: $(COMPDIR)%.c $(ACENV_H) $(ACACESS_H)
74         @mkdir -p $(dir $@)
75         @echo [CC] -o $@
76         @$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $< 
77         @$(CC) -M -MP -MT $@ $(CPPFLAGS) $< -o [email protected]
78
79 -include $(OBJS:%=%.dep)
80

UCC git Repository :: git.ucc.asn.au