Home | History | Annotate | Line # | Download | only in unix
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