aboutsummaryrefslogtreecommitdiffstats
path: root/sysutils/acpica-tools/files/Makefile.config
diff options
context:
space:
mode:
Diffstat (limited to 'sysutils/acpica-tools/files/Makefile.config')
-rw-r--r--sysutils/acpica-tools/files/Makefile.config215
1 files changed, 215 insertions, 0 deletions
diff --git a/sysutils/acpica-tools/files/Makefile.config b/sysutils/acpica-tools/files/Makefile.config
new file mode 100644
index 000000000000..dc9fcaea91d6
--- /dev/null
+++ b/sysutils/acpica-tools/files/Makefile.config
@@ -0,0 +1,215 @@
+#
+# Makefile.config
+#
+# Common configuration and setup file to generate the ACPICA tools and
+# utilities: the iASL compiler, acpiexec, acpihelp, acpinames, acpisrc,
+# acpixtract, acpibin.
+#
+# This file is included by the individual makefiles for each tool.
+#
+
+#
+# Note: This makefile is intended to be used from within the native
+# ACPICA directory structure, from under generate/unix. It specifically
+# places all object files in a generate/unix subdirectory, not within
+# the various ACPICA source directories. This prevents collisions
+# between different compilations of the same source file with different
+# compile options, and prevents pollution of the source code.
+#
+
+#
+# Configuration
+#
+# OPT_CFLAGS can be overridden on the make command line by
+# adding OPT_CFLAGS="..." to the invocation.
+#
+# Notes:
+# gcc should be version 4 or greater, otherwise some of the options
+# used will not be recognized.
+# Optional: Set HOST to an appropriate value (_LINUX, _FreeBSD, _APPLE, _CYGWIN, etc.)
+# See include/platform/acenv.h for supported values.
+# Note: HOST is not nearly as important for applications as it
+# is for the kernel-resident version of ACPICA, and it may
+# not be necessary to change it.
+#
+.SUFFIXES :
+PROGS = acpibin acpidump acpiexec acpihelp acpinames acpisrc acpixtract iasl
+HOST ?= _CYGWIN
+CC = gcc
+
+#
+# Common defines
+#
+OBJDIR = obj
+BINDIR = bin
+COMPILEOBJ = $(CC) -c $(CFLAGS) $(OPT_CFLAGS) -o $@ $<
+LINKPROG = $(CC) $(OBJECTS) -o $(PROG) $(LDFLAGS)
+PREFIX ?= /usr
+INSTALLDIR = $(PREFIX)/bin
+
+ifeq ($(HOST), _APPLE)
+INSTALL = cp
+INSTALLFLAGS ?= -f
+else
+INSTALL = install
+INSTALLFLAGS ?= -m 555 -s
+endif
+
+INSTALLPROG = \
+ mkdir -p $(DESTDIR)$(INSTALLDIR); \
+ $(INSTALL) $(INSTALLFLAGS) ../$(BINDIR)/$(PROG) $(DESTDIR)$(INSTALLDIR)/$(PROG)
+
+#
+# Rename a .exe file if necessary
+#
+RENAMEPROG = \
+ @if [ -e "$(PROG).exe" ] ; then \
+ mv $(PROG).exe $(PROG); \
+ echo "Renamed $(PROG).exe to $(PROG)"; \
+ fi;
+
+#
+# Copy the final executable to the local bin directory
+#
+COPYPROG = \
+ @mkdir -p ../$(BINDIR); \
+ cp -f $(PROG) ../$(BINDIR); \
+ echo "Copied $(PROG) to $(FINAL_PROG)";
+
+#
+# Main ACPICA source directories
+#
+ACPICA_SRC = ../../../source
+ACPICA_COMMON = $(ACPICA_SRC)/common
+ACPICA_TOOLS = $(ACPICA_SRC)/tools
+ACPICA_OSL = $(ACPICA_SRC)/os_specific/service_layers
+ACPICA_CORE = $(ACPICA_SRC)/components
+ACPICA_INCLUDE = $(ACPICA_SRC)/include
+ACPICA_DEBUGGER = $(ACPICA_CORE)/debugger
+ACPICA_DISASSEMBLER = $(ACPICA_CORE)/disassembler
+ACPICA_DISPATCHER = $(ACPICA_CORE)/dispatcher
+ACPICA_EVENTS = $(ACPICA_CORE)/events
+ACPICA_EXECUTER = $(ACPICA_CORE)/executer
+ACPICA_HARDWARE = $(ACPICA_CORE)/hardware
+ACPICA_NAMESPACE = $(ACPICA_CORE)/namespace
+ACPICA_PARSER = $(ACPICA_CORE)/parser
+ACPICA_RESOURCES = $(ACPICA_CORE)/resources
+ACPICA_TABLES = $(ACPICA_CORE)/tables
+ACPICA_UTILITIES = $(ACPICA_CORE)/utilities
+
+#
+# ACPICA tool and utility source directories
+#
+ACPIBIN = $(ACPICA_TOOLS)/acpibin
+ACPIDUMP = $(ACPICA_TOOLS)/acpidump
+ACPIEXEC = $(ACPICA_TOOLS)/acpiexec
+ACPIHELP = $(ACPICA_TOOLS)/acpihelp
+ACPINAMES = $(ACPICA_TOOLS)/acpinames
+ACPISRC = $(ACPICA_TOOLS)/acpisrc
+ACPIXTRACT = $(ACPICA_TOOLS)/acpixtract
+ASL_COMPILER = $(ACPICA_SRC)/compiler
+
+#
+# Common ACPICA header files
+#
+ACPICA_HEADERS = \
+ $(wildcard $(ACPICA_INCLUDE)/*.h) \
+ $(wildcard $(ACPICA_INCLUDE)/platform/*.h)
+
+#
+# Common compiler flags
+#
+# Flags/option notes:
+# Global optimization flags (such as -O2, -Os) are not used,
+# since they cause issues on some compilers (such as gcc 4.4)
+# The _GNU_SOURCE symbol is required for many hosts.
+#
+OPT_CFLAGS ?= \
+ -D_FORTIFY_SOURCE=2\
+ $(CWARNINGFLAGS)
+
+CFLAGS += \
+ -D$(HOST)\
+ -D_GNU_SOURCE\
+ -I$(ACPICA_INCLUDE)
+
+#
+# Common compiler warning flags. The warning flags in addition
+# to -Wall are not automatically included in -Wall.
+#
+CWARNINGFLAGS = \
+ -ansi\
+ -Wall\
+ -Wbad-function-cast\
+ -Wdeclaration-after-statement\
+ -Werror\
+ -Wformat=2\
+ -Wmissing-declarations\
+ -Wmissing-prototypes\
+ -Wstrict-aliasing=0\
+ -Wstrict-prototypes\
+ -Wswitch-default\
+ -Wpointer-arith\
+ -Wundef
+
+#
+# Common gcc 4+ warning flags
+#
+CWARNINGFLAGS += \
+ -Waddress\
+ -Waggregate-return\
+ -Wchar-subscripts\
+ -Wmissing-declarations\
+ -Wmissing-field-initializers\
+ -Wnested-externs\
+ -Wold-style-definition\
+ -Wno-format-nonliteral\
+ -Wredundant-decls
+
+#
+# Per-host flags and exclusions
+#
+ifneq ($(HOST), _FreeBSD)
+ CWARNINGFLAGS += \
+ -Wempty-body
+
+ ifneq ($(HOST), _APPLE)
+ CWARNINGFLAGS += \
+ -Wlogical-op\
+ -Wmissing-parameter-type\
+ -Wold-style-declaration\
+ -Wtype-limits
+ endif
+endif
+
+#
+# Extra warning flags (for possible future use)
+#
+#CWARNINGFLAGS += \
+# -Wcast-qual\
+# -Wconversion\
+# -Wshadow\
+
+#
+# Bison/Flex configuration
+#
+# -y: act like yacc
+#
+# -i: generate case insensitive scanner
+# -s: suppress default rule, abort on unknown input
+#
+# Optional for Bison/yacc:
+# -v: verbose, produces a .output file
+# -d: produces the defines header file
+#
+# Berkeley yacc configuration
+#
+#YACC= byacc
+#YFLAGS +=
+#
+YACC= bison
+YFLAGS += -y
+
+LEX= flex
+LFLAGS += -i -s
+