Makefile.config revision 1.1.1.2 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 #
29 PROGS = acpibin acpiexec acpihelp acpinames acpisrc acpixtract iasl
30
31 HOST = _CYGWIN
32 CC = gcc
33 COMPILE = $(CC) -c $(CFLAGS) $(CWARNINGFLAGS) -o$@ $?
34
35 #
36 # Common defines
37 #
38 ACPICA_SRC = ../../../source
39 ACPICA_COMMON = $(ACPICA_SRC)/common
40 ACPICA_CORE = $(ACPICA_SRC)/components
41 ACPICA_TOOLS = $(ACPICA_SRC)/tools
42 ACPICA_OSL = $(ACPICA_SRC)/os_specific/service_layers
43 ASL_COMPILER = $(ACPICA_SRC)/compiler
44 COPYPROG = @mkdir -p ../bin; rm -f ../bin/$(PROG); cp --remove-destination $(PROG) ../bin
45 INSTALLDIR = /usr/bin
46 INSTALLPROG = 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 #
51 CFLAGS += \
52 -D$(HOST) \
53 -D_GNU_SOURCE \
54 -I$(ACPICA_SRC)/include
55
56 CWARNINGFLAGS = \
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 #
74 CWARNINGFLAGS += \
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 #
112 YACC= bison
113 YFLAGS += -v -d -y
114
115 LEX= flex
116 LFLAGS += -i -s
117