diff options
Diffstat (limited to 'sysutils/acpica-tools/files/Makefile.config')
-rw-r--r-- | sysutils/acpica-tools/files/Makefile.config | 215 |
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 + |