acpica/generate/unix/Makefile.config

177 lines
4.5 KiB
Makefile
Raw Normal View History

#
# 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
# Notes:
# $(BITS) must be set to either 32 or 64
# gcc should be version 4 or greater, otherwise some of the options
# used will not be recognized.
# Global optimization flags (such as -O2, -Os) are not used, since
# they cause issues on some compilers.
# The _GNU_SOURCE symbol is required for many hosts.
#
.SUFFIXES :
PROGS = acpibin acpiexec acpihelp acpinames acpisrc acpixtract iasl
HOST = _CYGWIN
CC = gcc
#
# Common defines
#
OBJDIR = obj$(BITS)
BINDIR = bin$(BITS)
BITSFLAG = -m$(BITS)
COMPILEOBJ = $(CC) -c $(CFLAGS) $(CWARNINGFLAGS) -o$@ $<
LINKPROG = $(CC) $(OBJECTS) -o $(PROG) $(LDFLAGS)
INSTALLDIR = /usr/bin
INSTALLPROG = install -D ../$(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 file to the local bin[32|64] directory
#
COPYPROG = \
@mkdir -p ../$(BINDIR); \
cp --remove-destination $(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
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. The warning flags in addition to -Wall are not
# automatically included in -Wall.
#
CFLAGS += \
$(BITSFLAG) \
-D$(HOST) \
-D_GNU_SOURCE \
-D_FORTIFY_SOURCE=2 \
-I$(ACPICA_INCLUDE)
LDFLAGS += $(BITSFLAG)
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
#
# gcc 4+ flags
#
CWARNINGFLAGS += \
-Waddress \
-Waggregate-return \
-Wchar-subscripts \
-Wempty-body \
-Wlogical-op \
-Wmissing-declarations \
-Wmissing-field-initializers \
-Wmissing-parameter-type \
-Wnested-externs \
-Wold-style-declaration \
-Wold-style-definition \
-Wredundant-decls \
-Wtype-limits
#
# Extra warning flags (possible future use)
#
#CWARNINGFLAGS += \
# -Wcast-qual \
# -Wconversion
# -Wshadow \
#
# Bison/Flex configuration
#
# -v: verbose, produces a .output file
# -d: produces the defines header file
# -y: act like yacc
#
# -i: generate case insensitive scanner
# -s: suppress default rule, abort on unknown input
#
# Berkeley yacc configuration
#
#YACC= byacc
#YFLAGS += -v -d
#
YACC= bison
YFLAGS += -v -d -y
LEX= flex
LFLAGS += -i -s