1# 2# Makefile.config 3# 4# Common configuration and setup file to generate the ACPICA tools and 5# utilities: the iASL compiler, acpiexec, acpihelp, acpinames, acpisrc, 6# acpixtract, acpibin. 7# 8# This file is included by the individual makefiles for each tool. 9# 10 11# 12# Note: This makefile is intended to be used from within the native 13# ACPICA directory structure, from under generate/unix. It specifically 14# places all object files in a generate/unix subdirectory, not within 15# the various ACPICA source directories. This prevents collisions 16# between different compilations of the same source file with different 17# compile options, and prevents pollution of the source code. 18# 19 20# 21# Configuration 22# Notes: 23# gcc should be version 4 or greater, otherwise some of the options 24# used will not be recognized. 25# Global optimization flags (such as -O2, -Os) are not used, since 26# they cause issues on some compilers. 27# The _GNU_SOURCE symbol is required for many hosts. 28# 29PROGS = acpibin acpiexec acpihelp acpinames acpisrc acpixtract iasl 30 31HOST = _CYGWIN 32CC = gcc 33COMPILE = $(CC) -c $(CFLAGS) $(CWARNINGFLAGS) -o$@ $? 34 35# 36# Common defines 37# 38ACPICA_SRC = ../../../source 39ACPICA_COMMON = $(ACPICA_SRC)/common 40ACPICA_CORE = $(ACPICA_SRC)/components 41ACPICA_TOOLS = $(ACPICA_SRC)/tools 42ACPICA_OSL = $(ACPICA_SRC)/os_specific/service_layers 43ASL_COMPILER = $(ACPICA_SRC)/compiler 44COPYPROG = @mkdir -p ../bin; rm -f ../bin/$(PROG); cp --remove-destination $(PROG) ../bin 45INSTALLDIR = /usr/bin 46INSTALLPROG = cp --remove-destination $(PROG) $(INSTALLDIR) 47# 48# Common compiler flags. The warning flags in addition to -Wall are not 49# automatically included in -Wall. 50# 51CFLAGS += \ 52 -D$(HOST) \ 53 -D_GNU_SOURCE \ 54 -I$(ACPICA_SRC)/include 55 56CWARNINGFLAGS = \ 57 -ansi \ 58 -Wall \ 59 -Wbad-function-cast \ 60 -Wdeclaration-after-statement \ 61 -Werror \ 62 -Wformat=2 \ 63 -Wmissing-declarations \ 64 -Wmissing-prototypes \ 65 -Wstrict-aliasing=0 \ 66 -Wstrict-prototypes \ 67 -Wswitch-default \ 68 -Wpointer-arith \ 69 -Wundef 70 71# 72# gcc 4+ flags 73# 74CWARNINGFLAGS += \ 75 -Waddress \ 76 -Waggregate-return \ 77 -Wchar-subscripts \ 78 -Wempty-body \ 79 -Wlogical-op \ 80 -Wmissing-declarations \ 81 -Wmissing-field-initializers \ 82 -Wmissing-parameter-type \ 83 -Wnested-externs \ 84 -Wold-style-declaration \ 85 -Wold-style-definition \ 86 -Wredundant-decls \ 87 -Wtype-limits 88 89# 90# Extra warning flags (possible future use) 91# 92#CWARNINGFLAGS += \ 93# -Wcast-qual \ 94# -Wconversion 95# -Wshadow \ 96 97# 98# Bison/Flex configuration 99# 100# -v: verbose, produces a .output file 101# -d: produces the defines header file 102# -y: act like yacc 103# 104# -i: generate case insensitive scanner 105# -s: suppress default rule, abort on unknown input 106# 107# Berkeley yacc configuration 108# 109#YACC= byacc 110#YFLAGS += -v -d 111# 112YACC= bison 113YFLAGS += -v -d -y 114 115LEX= flex 116LFLAGS += -i -s 117