Blame generate/unix/Makefile.config

Packit Service 1fb00e
#
Packit Service 1fb00e
# Makefile.config
Packit Service 1fb00e
#
Packit Service 1fb00e
# Common configuration and setup file to generate the ACPICA tools and
Packit Service 1fb00e
# utilities: the iASL compiler, acpiexec, acpihelp, acpinames, acpisrc,
Packit Service 1fb00e
# acpixtract, acpibin.
Packit Service 1fb00e
#
Packit Service 1fb00e
# This file is included by the individual makefiles for each tool.
Packit Service 1fb00e
#
Packit Service 1fb00e
Packit Service 1fb00e
#
Packit Service 1fb00e
# Note: This makefile is intended to be used from within the native
Packit Service 1fb00e
# ACPICA directory structure, from under generate/unix. It specifically
Packit Service 1fb00e
# places all object files in a generate/unix subdirectory, not within
Packit Service 1fb00e
# the various ACPICA source directories. This prevents collisions
Packit Service 1fb00e
# between different compilations of the same source file with different
Packit Service 1fb00e
# compile options, and prevents pollution of the source code.
Packit Service 1fb00e
#
Packit Service 1fb00e
Packit Service 1fb00e
#
Packit Service 1fb00e
# Configuration
Packit Service 1fb00e
#
Packit Service 1fb00e
# OPT_CFLAGS can be overridden on the make command line by
Packit Service 1fb00e
#   adding OPT_CFLAGS="..." to the invocation.
Packit Service 1fb00e
#
Packit Service 8161a2
# OPT_LDFLAGS can be overridden on the make command line by
Packit Service 8161a2
#   adding OPT_LDFLAGS="..." to the invocation.
Packit Service 8161a2
#
Packit Service 1fb00e
# Notes:
Packit Service 1fb00e
#   gcc should be version 4 or greater, otherwise some of the options
Packit Service 1fb00e
#     used will not be recognized.
Packit Service 1fb00e
#   Optional: Set HOST to an appropriate value (_LINUX, _FreeBSD, _APPLE, _CYGWIN, etc.)
Packit Service 1fb00e
#     See include/platform/acenv.h for supported values.
Packit Service 1fb00e
#     Note: HOST is not nearly as important for applications as it
Packit Service 1fb00e
#     is for the kernel-resident version of ACPICA, and it may
Packit Service 1fb00e
#     not be necessary to change it.
Packit Service 1fb00e
#
Packit Service 1fb00e
.SUFFIXES :
Packit Service 1fb00e
PROGS = acpibin acpidump acpiexamples acpiexec acpihelp acpinames acpisrc acpixtract iasl
Packit Service 1fb00e
HOST ?= _CYGWIN
Packit Service 1fb00e
CC ?=    gcc
Packit Service 1fb00e
Packit Service 1fb00e
#
Packit Service 1fb00e
# Common defines
Packit Service 1fb00e
#
Packit Service 1fb00e
OBJDIR =     obj
Packit Service 1fb00e
BINDIR =     bin
Packit Service 1fb00e
COMPILEOBJ = $(CC) -c $(CFLAGS) $(OPT_CFLAGS) -o $@ $<
Packit Service 1fb00e
LINKPROG =   $(CC) $(OBJECTS) -o $(PROG) $(LDFLAGS) $(OPT_LDFLAGS)
Packit Service 1fb00e
PREFIX ?=    /usr
Packit Service 1fb00e
INSTALLDIR = $(PREFIX)/bin
Packit Service 1fb00e
UNAME_S := $(shell uname -s)
Packit Service 1fb00e
Packit Service 1fb00e
#
Packit Service 1fb00e
# Host detection and configuration
Packit Service 1fb00e
#
Packit Service 1fb00e
ifeq ($(UNAME_S), Darwin)  # Mac OS X
Packit Service 1fb00e
HOST =       _APPLE
Packit Service 1fb00e
endif
Packit Service 1fb00e
Packit Service 1fb00e
ifeq ($(UNAME_S), DragonFly)
Packit Service 1fb00e
HOST =       _DragonFly
Packit Service 1fb00e
endif
Packit Service 1fb00e
Packit Service 1fb00e
ifeq ($(UNAME_S), FreeBSD)
Packit Service 1fb00e
HOST =       _FreeBSD
Packit Service 1fb00e
endif
Packit Service 1fb00e
Packit Service 1fb00e
ifeq ($(UNAME_S), NetBSD)
Packit Service 1fb00e
HOST =       _NetBSD
Packit Service 1fb00e
endif
Packit Service 1fb00e
Packit Service 1fb00e
ifeq ($(UNAME_S), QNX)
Packit Service 1fb00e
HOST =       _QNX
Packit Service 1fb00e
endif
Packit Service 1fb00e
Packit Service 1fb00e
ifeq ($(HOST), _APPLE)
Packit Service 1fb00e
INSTALL  =   cp
Packit Service 1fb00e
INSTALLFLAGS ?= -f
Packit Service 1fb00e
else
Packit Service 1fb00e
INSTALL =    install
Packit Service 1fb00e
INSTALLFLAGS ?= -m 555 -s
Packit Service 1fb00e
endif
Packit Service 1fb00e
Packit Service 1fb00e
INSTALLPROG = \
Packit Service 1fb00e
	mkdir -p $(DESTDIR)$(INSTALLDIR); \
Packit Service 1fb00e
	$(INSTALL) $(INSTALLFLAGS) ../$(BINDIR)/$(PROG) $(DESTDIR)$(INSTALLDIR)/$(PROG)
Packit Service 1fb00e
Packit Service 1fb00e
#
Packit Service 1fb00e
# Rename a .exe file if necessary
Packit Service 1fb00e
#
Packit Service 1fb00e
RENAMEPROG = \
Packit Service 1fb00e
	@if [ -e "$(PROG).exe" ] ; then \
Packit Service 1fb00e
		mv $(PROG).exe $(PROG); \
Packit Service 1fb00e
		echo "- Rename $(PROG).exe to $(PROG)"; \
Packit Service 1fb00e
	fi;
Packit Service 1fb00e
Packit Service 1fb00e
#
Packit Service 1fb00e
# Copy the final executable to the local bin directory
Packit Service 1fb00e
#
Packit Service 1fb00e
COPYPROG = \
Packit Service 1fb00e
	@mkdir -p ../$(BINDIR); \
Packit Service 1fb00e
	cp -f $(PROG) ../$(BINDIR); \
Packit Service 1fb00e
	echo "- Copy $(PROG) to $(FINAL_PROG)";
Packit Service 1fb00e
Packit Service 1fb00e
#
Packit Service 1fb00e
# Main ACPICA source directories
Packit Service 1fb00e
#
Packit Service 1fb00e
ACPICA_SRC =            ../../../source
Packit Service 1fb00e
ACPICA_COMMON =         $(ACPICA_SRC)/common
Packit Service 1fb00e
ACPICA_TOOLS =          $(ACPICA_SRC)/tools
Packit Service 1fb00e
ACPICA_OSL =            $(ACPICA_SRC)/os_specific/service_layers
Packit Service 1fb00e
ACPICA_CORE =           $(ACPICA_SRC)/components
Packit Service 1fb00e
ACPICA_INCLUDE =        $(ACPICA_SRC)/include
Packit Service 1fb00e
ACPICA_DEBUGGER =       $(ACPICA_CORE)/debugger
Packit Service 1fb00e
ACPICA_DISASSEMBLER =   $(ACPICA_CORE)/disassembler
Packit Service 1fb00e
ACPICA_DISPATCHER =     $(ACPICA_CORE)/dispatcher
Packit Service 1fb00e
ACPICA_EVENTS =         $(ACPICA_CORE)/events
Packit Service 1fb00e
ACPICA_EXECUTER =       $(ACPICA_CORE)/executer
Packit Service 1fb00e
ACPICA_HARDWARE =       $(ACPICA_CORE)/hardware
Packit Service 1fb00e
ACPICA_NAMESPACE =      $(ACPICA_CORE)/namespace
Packit Service 1fb00e
ACPICA_PARSER =         $(ACPICA_CORE)/parser
Packit Service 1fb00e
ACPICA_RESOURCES =      $(ACPICA_CORE)/resources
Packit Service 1fb00e
ACPICA_TABLES =         $(ACPICA_CORE)/tables
Packit Service 1fb00e
ACPICA_UTILITIES =      $(ACPICA_CORE)/utilities
Packit Service 1fb00e
Packit Service 1fb00e
#
Packit Service 1fb00e
# ACPICA tool and utility source directories
Packit Service 1fb00e
#
Packit Service 1fb00e
ACPIBIN =               $(ACPICA_TOOLS)/acpibin
Packit Service 1fb00e
ACPIDUMP =              $(ACPICA_TOOLS)/acpidump
Packit Service 1fb00e
ACPIEXAMPLES =          $(ACPICA_TOOLS)/examples
Packit Service 1fb00e
ACPIEXEC =              $(ACPICA_TOOLS)/acpiexec
Packit Service 1fb00e
ACPIHELP =              $(ACPICA_TOOLS)/acpihelp
Packit Service 1fb00e
ACPINAMES =             $(ACPICA_TOOLS)/acpinames
Packit Service 1fb00e
ACPISRC =               $(ACPICA_TOOLS)/acpisrc
Packit Service 1fb00e
ACPIXTRACT =            $(ACPICA_TOOLS)/acpixtract
Packit Service 1fb00e
ASL_COMPILER =          $(ACPICA_SRC)/compiler
Packit Service 1fb00e
Packit Service 1fb00e
#
Packit Service 1fb00e
# Common ACPICA header files
Packit Service 1fb00e
#
Packit Service 1fb00e
ACPICA_HEADERS = \
Packit Service 1fb00e
    $(wildcard $(ACPICA_INCLUDE)/*.h) \
Packit Service 1fb00e
    $(wildcard $(ACPICA_INCLUDE)/platform/*.h)
Packit Service 1fb00e
Packit Service 1fb00e
#
Packit Service 1fb00e
# Common compiler flags
Packit Service 1fb00e
# The _GNU_SOURCE symbol is required for many hosts.
Packit Service 1fb00e
#
Packit Service 1fb00e
OPT_CFLAGS ?= $(CWARNINGFLAGS)
Packit Service 1fb00e
Packit Service 1fb00e
#
Packit Service 1fb00e
# Common compiler flags
Packit Service 1fb00e
# The _GNU_SOURCE symbol is required for many hosts.
Packit Service 1fb00e
#
Packit Service 1fb00e
ifeq ($(M32),TRUE)
Packit Service 1fb00e
CFLAGS +=-m32
Packit Service 1fb00e
LDFLAGS +=-m32
Packit Service 1fb00e
endif
Packit Service 1fb00e
Packit Service 1fb00e
#
Packit Service 8161a2
# Common linker flags
Packit Service 8161a2
#
Packit Service 8161a2
OPT_LDFLAGS ?= 
Packit Service 8161a2
Packit Service 8161a2
#
Packit Service 1fb00e
# Optionally disable optimizations. Optimization causes problems on
Packit Service 1fb00e
# some compilers such as gcc 4.4
Packit Service 1fb00e
#
Packit Service 1fb00e
ifneq ($(NOOPT),TRUE)
Packit Service 1fb00e
OPT_CFLAGS += -O2
Packit Service 1fb00e
else
Packit Service 1fb00e
OPT_CFLAGS += -O0
Packit Service 1fb00e
endif
Packit Service 1fb00e
Packit Service 1fb00e
#
Packit Service 1fb00e
# Optionally disable fortify source. This option can cause
Packit Service 1fb00e
# compile errors in toolchains where it is already defined.
Packit Service 1fb00e
#
Packit Service 1fb00e
ifneq ($(NOFORTIFY),TRUE)
Packit Service 1fb00e
OPT_CFLAGS += -D_FORTIFY_SOURCE=2
Packit Service 1fb00e
endif
Packit Service 1fb00e
Packit Service 349d8d
OPT_CFLAGS += -fPIC -pie
Packit Service 349d8d
Packit Service 1fb00e
CFLAGS += \
Packit Service 1fb00e
    -D$(HOST)\
Packit Service 1fb00e
    -D_GNU_SOURCE\
Packit Service 1fb00e
    -I$(ACPICA_INCLUDE)
Packit Service 1fb00e
Packit Service 1fb00e
#
Packit Service 1fb00e
# QNX requires __EXT to enable most functions in its C library, analogous
Packit Service 1fb00e
# to _GNU_SOURCE.
Packit Service 1fb00e
#
Packit Service 1fb00e
ifeq ($(HOST), _QNX)
Packit Service 1fb00e
    CFLAGS+=-D__EXT
Packit Service 1fb00e
endif
Packit Service 1fb00e
Packit Service 1fb00e
#
Packit Service 1fb00e
# Common compiler warning flags. The warning flags in addition
Packit Service 1fb00e
# to -Wall are not automatically included in -Wall.
Packit Service 1fb00e
#
Packit Service 1fb00e
CWARNINGFLAGS = \
Packit Service 1fb00e
    -std=c99\
Packit Service 1fb00e
    -Wall\
Packit Service 1fb00e
    -Wbad-function-cast\
Packit Service 1fb00e
    -Wdeclaration-after-statement\
Packit Service 1fb00e
    -Werror\
Packit Service 1fb00e
    -Wformat=2\
Packit Service 1fb00e
    -Wmissing-declarations\
Packit Service 1fb00e
    -Wmissing-prototypes\
Packit Service 1fb00e
    -Wstrict-aliasing=0\
Packit Service 1fb00e
    -Wstrict-prototypes\
Packit Service 1fb00e
    -Wswitch-default\
Packit Service 1fb00e
    -Wpointer-arith\
Packit Service 1fb00e
    -Wundef
Packit Service 1fb00e
Packit Service 1fb00e
#
Packit Service 1fb00e
# Common gcc 4+ warning flags
Packit Service 1fb00e
#
Packit Service 1fb00e
CWARNINGFLAGS += \
Packit Service 1fb00e
    -Waddress\
Packit Service 1fb00e
    -Waggregate-return\
Packit Service 1fb00e
    -Winit-self\
Packit Service 1fb00e
    -Winline\
Packit Service 1fb00e
    -Wmissing-declarations\
Packit Service 1fb00e
    -Wmissing-field-initializers\
Packit Service 1fb00e
    -Wnested-externs\
Packit Service 1fb00e
    -Wold-style-definition\
Packit Service 1fb00e
    -Wno-format-nonliteral\
Packit Service 1fb00e
    -Wredundant-decls
Packit Service 1fb00e
#
Packit Service 1fb00e
# Per-host flags and exclusions
Packit Service 1fb00e
#
Packit Service 1fb00e
ifneq ($(HOST), _FreeBSD)
Packit Service 1fb00e
    CWARNINGFLAGS += \
Packit Service 1fb00e
        -Wempty-body
Packit Service 1fb00e
Packit Service 1fb00e
    ifneq ($(HOST), _APPLE)
Packit Service 1fb00e
        CWARNINGFLAGS += \
Packit Service 1fb00e
            -Woverride-init\
Packit Service 1fb00e
            -Wlogical-op\
Packit Service 1fb00e
            -Wmissing-parameter-type\
Packit Service 1fb00e
            -Wold-style-declaration\
Packit Service 1fb00e
            -Wtype-limits
Packit Service 1fb00e
    endif
Packit Service 1fb00e
endif
Packit Service 1fb00e
Packit Service 1fb00e
#
Packit Service 1fb00e
# Extra warning flags (for possible future use)
Packit Service 1fb00e
#
Packit Service 1fb00e
#CWARNINGFLAGS += \
Packit Service 1fb00e
#	-Wcast-qual\
Packit Service 1fb00e
#	-Wconversion\
Packit Service 1fb00e
#	-Wshadow\
Packit Service 1fb00e
Packit Service 1fb00e
#
Packit Service 1fb00e
# M4 macro processor is used to build the final parser file
Packit Service 1fb00e
#
Packit Service 1fb00e
# Bison/Flex configuration
Packit Service 1fb00e
#
Packit Service 1fb00e
# -y: act like yacc
Packit Service 1fb00e
#
Packit Service 1fb00e
# -i: generate case insensitive scanner
Packit Service 1fb00e
# -s: suppress default rule, abort on unknown input
Packit Service 1fb00e
#
Packit Service 1fb00e
# Optional for Bison/yacc:
Packit Service 1fb00e
# -v: verbose, produces a .output file
Packit Service 1fb00e
# -d: produces the defines header file
Packit Service 1fb00e
#
Packit Service 1fb00e
# Berkeley yacc configuration
Packit Service 1fb00e
#
Packit Service 1fb00e
#YACC=      byacc
Packit Service 1fb00e
#YFLAGS +=
Packit Service 1fb00e
#
Packit Service 1fb00e
YACC=       bison
Packit Service 1fb00e
YFLAGS +=   -y
Packit Service 1fb00e
Packit Service 1fb00e
MACROPROC=  m4
Packit Service 1fb00e
MFLAGS=     -P -I$(ASL_COMPILER)
Packit Service 1fb00e
Packit Service 1fb00e
LEX=        flex
Packit Service 1fb00e
LFLAGS +=   -i -s