# # 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) COMPILE = $(CC) -c $(CFLAGS) $(CWARNINGFLAGS) -o$@ $< COPYPROG = @mkdir -p ../$(BINDIR); \ rm -f ../$(BINDIR)/$(PROG); \ cp --remove-destination $(PROG) ../$(BINDIR); INSTALLDIR = /usr/bin INSTALLPROG = cp --remove-destination $(PROG) $(INSTALLDIR) # # 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 \ -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