summaryrefslogtreecommitdiff
path: root/compiler/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/Makefile')
-rw-r--r--compiler/Makefile565
1 files changed, 109 insertions, 456 deletions
diff --git a/compiler/Makefile b/compiler/Makefile
index 1807635a2a40e..e08941a19aed0 100644
--- a/compiler/Makefile
+++ b/compiler/Makefile
@@ -19,50 +19,57 @@ PROG = iasl
HOST = _LINUX
NOMAN = YES
-COMPILE = $(CC) -c $(CFLAGS) $(CWARNINGFLAGS) -o$@ $?
+COMPILE = $(CC) -c $(CFLAGS) $(CWARNINGFLAGS) -o$@ $<
ACPICA_COMPONENTS =
-ACPICA_SRC = ..
-ACPICA_COMMON = $(ACPICA_SRC)/common
-ACPICA_CORE = $(ACPICA_SRC)$(ACPICA_COMPONENTS)
-ACPICA_TOOLS = $(ACPICA_SRC)/tools
-ACPICA_OSL = $(ACPICA_SRC)/os_specific/service_layers
-ASL_COMPILER = $(ACPICA_SRC)/compiler
-INSTALLDIR = /usr/bin
-INSTALLPROG = cp --remove-destination $(PROG) $(INSTALLDIR)
+ACPICA_SRC = ..
+ACPICA_INCLUDE = $(ACPICA_SRC)/include
+ACPICA_COMMON = $(ACPICA_SRC)/common
+ACPICA_CORE = $(ACPICA_SRC)$(ACPICA_COMPONENTS)
+ACPICA_TOOLS = $(ACPICA_SRC)/tools
+ACPICA_OSL = $(ACPICA_SRC)/os_specific/service_layers
+ACPICA_DEBUGGER = $(ACPICA_CORE)/debugger
+ACPICA_DISASSEMBLER = $(ACPICA_CORE)/disassembler
+ACPICA_DISPATCHER = $(ACPICA_CORE)/dispatcher
+ACPICA_EXECUTER = $(ACPICA_CORE)/executer
+ACPICA_NAMESPACE = $(ACPICA_CORE)/namespace
+ACPICA_PARSER = $(ACPICA_CORE)/parser
+ACPICA_TABLES = $(ACPICA_CORE)/tables
+ACPICA_UTILITIES = $(ACPICA_CORE)/utilities
+ASL_COMPILER = $(ACPICA_SRC)/compiler
+INSTALLDIR = /usr/bin
+INSTALLPROG = cp --remove-destination $(PROG) $(INSTALLDIR)
-CFLAGS+= \
- -D$(HOST) \
- -D_GNU_SOURCE \
- -DACPI_ASL_COMPILER \
- -I$(ACPICA_SRC)/include \
- -I$(ASL_COMPILER)
-
-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
+ACPICA_HEADERS = \
+ $(wildcard $(ACPICA_INCLUDE)/*.h) \
+ $(wildcard $(ACPICA_INCLUDE)/platform/*.h)
#
-# Bison/Flex configuration
+# Search paths for source files
#
-YACC= bison
-YFLAGS+= -v -d -y
+vpath %.c \
+ $(ASL_COMPILER) \
+ $(ACPICA_DEBUGGER) \
+ $(ACPICA_DISASSEMBLER) \
+ $(ACPICA_DISPATCHER) \
+ $(ACPICA_EXECUTER) \
+ $(ACPICA_NAMESPACE) \
+ $(ACPICA_PARSER) \
+ $(ACPICA_TABLES) \
+ $(ACPICA_UTILITIES) \
+ $(ACPICA_COMMON) \
+ $(ACPICA_OSL)
-LEX= flex
-LFLAGS+= -i -s
+HEADERS = \
+ $(wildcard $(ASL_COMPILER)/*.h) \
+ aslcompiler.y.h \
+ dtparser.y.h
-OBJS = \
+OBJECTS = \
+ aslcompilerlex.o \
+ aslcompilerparse.o \
+ dtparserlex.o \
+ dtparserparse.o \
adfile.o \
adisasm.o \
adwalk.o \
@@ -70,8 +77,6 @@ OBJS = \
aslbtypes.o \
aslcodegen.o \
aslcompile.o \
- aslcompilerlex.o \
- aslcompilerparse.o \
aslerror.o \
aslfiles.o \
aslfold.o \
@@ -104,8 +109,6 @@ OBJS = \
dtexpress.o \
dtfield.o \
dtio.o \
- dtparserlex.o \
- dtparserparse.o \
dtsubtable.o \
dttable.o \
dttemplate.o \
@@ -205,18 +208,67 @@ INTERMEDIATES = \
dtparserparse.c
MISC = \
+ aslcompilerparse.h \
aslcompiler.y.h \
aslcompilerparse.output \
+ dtparserparse.h \
dtparser.y.h \
dtparserparse.output
+CFLAGS+= \
+ -D$(HOST) \
+ -D_GNU_SOURCE \
+ -DACPI_ASL_COMPILER \
+ -I$(ACPICA_INCLUDE) \
+ -I$(ASL_COMPILER)
+
+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
#
-# Root rule
+# Bison/Flex configuration
#
-$(PROG) : $(INTERMEDIATES) $(OBJS)
- $(CC) $(OBJS) $(LDFLAGS) -o $(PROG)
+YACC= bison
+YFLAGS+= -v -d -y
+LEX= flex
+LFLAGS+= -i -s
+
+#
+# Root rule
+#
+$(PROG) : $(INTERMEDIATES) $(MISC) $(OBJECTS)
+ $(CC) $(OBJECTS) $(LDFLAGS) -o $(PROG)
#
# Parser and Lexer - intermediate C files
@@ -224,16 +276,24 @@ $(PROG) : $(INTERMEDIATES) $(OBJS)
aslcompilerlex.c : $(ASL_COMPILER)/aslcompiler.l
${LEX} ${LFLAGS} -PAslCompiler -o$@ $?
-aslcompilerparse.c : $(ASL_COMPILER)/aslcompiler.y
+aslcompilerparse.c aslcompilerparse.h : $(ASL_COMPILER)/aslcompiler.y
${YACC} ${YFLAGS} -pAslCompiler -o$@ $?
- @mv -f aslcompilerparse.h aslcompiler.y.h
dtparserlex.c : $(ASL_COMPILER)/dtparser.l
${LEX} ${LFLAGS} -PDtParser -o$@ $?
-dtparserparse.c : $(ASL_COMPILER)/dtparser.y
+dtparserparse.c dtparserparse.h : $(ASL_COMPILER)/dtparser.y
${YACC} ${YFLAGS} -pDtParser -o$@ $?
- @mv -f dtparserparse.h dtparser.y.h
+
+# Rename headers produced by bison/yacc
+
+dtparser.y.h: dtparserparse.h
+ @echo Copy intermediate file:
+ @cp -f -v dtparserparse.h dtparser.y.h
+
+aslcompiler.y.h : aslcompilerparse.h
+ @echo Copy intermediate file:
+ @cp -f -v aslcompilerparse.h aslcompiler.y.h
#
@@ -255,418 +315,11 @@ dtparserparse.o : dtparserparse.c
$(CC) -c $(CFLAGS) -Wall -Werror -Wstrict-aliasing=0 -o$@ $?
-#
-# Compiler source
-#
-aslanalyze.o : $(ASL_COMPILER)/aslanalyze.c
- $(COMPILE)
-
-aslbtypes.o : $(ASL_COMPILER)/aslbtypes.c
- $(COMPILE)
-
-aslcodegen.o : $(ASL_COMPILER)/aslcodegen.c
- $(COMPILE)
-
-aslcompile.o : $(ASL_COMPILER)/aslcompile.c
- $(COMPILE)
-
-aslerror.o : $(ASL_COMPILER)/aslerror.c
- $(COMPILE)
-
-aslfiles.o : $(ASL_COMPILER)/aslfiles.c
- $(COMPILE)
-
-aslfold.o : $(ASL_COMPILER)/aslfold.c
- $(COMPILE)
-
-asllength.o : $(ASL_COMPILER)/asllength.c
- $(COMPILE)
-
-asllisting.o : $(ASL_COMPILER)/asllisting.c
- $(COMPILE)
-
-aslload.o : $(ASL_COMPILER)/aslload.c
- $(COMPILE)
-
-asllookup.o : $(ASL_COMPILER)/asllookup.c
- $(COMPILE)
-
-aslmain.o : $(ASL_COMPILER)/aslmain.c
- $(COMPILE)
-
-aslmap.o : $(ASL_COMPILER)/aslmap.c
- $(COMPILE)
-
-aslopcodes.o : $(ASL_COMPILER)/aslopcodes.c
- $(COMPILE)
-
-asloperands.o : $(ASL_COMPILER)/asloperands.c
- $(COMPILE)
-
-aslopt.o : $(ASL_COMPILER)/aslopt.c
- $(COMPILE)
-
-aslpredef.o : $(ASL_COMPILER)/aslpredef.c
- $(COMPILE)
-
-aslresource.o : $(ASL_COMPILER)/aslresource.c
- $(COMPILE)
-
-aslrestype1.o : $(ASL_COMPILER)/aslrestype1.c
- $(COMPILE)
-
-aslrestype1i.o : $(ASL_COMPILER)/aslrestype1i.c
- $(COMPILE)
-
-aslrestype2.o : $(ASL_COMPILER)/aslrestype2.c
- $(COMPILE)
-
-aslrestype2d.o : $(ASL_COMPILER)/aslrestype2d.c
- $(COMPILE)
-
-aslrestype2e.o : $(ASL_COMPILER)/aslrestype2e.c
- $(COMPILE)
-
-aslrestype2q.o : $(ASL_COMPILER)/aslrestype2q.c
- $(COMPILE)
-
-aslrestype2w.o : $(ASL_COMPILER)/aslrestype2w.c
- $(COMPILE)
-
-aslstartup.o : $(ASL_COMPILER)/aslstartup.c
- $(COMPILE)
-
-aslstubs.o : $(ASL_COMPILER)/aslstubs.c
- $(COMPILE)
-
-asltransform.o : $(ASL_COMPILER)/asltransform.c
- $(COMPILE)
-
-asltree.o : $(ASL_COMPILER)/asltree.c
- $(COMPILE)
-
-aslutils.o : $(ASL_COMPILER)/aslutils.c
- $(COMPILE)
-
-asluuid.o : $(ASL_COMPILER)/asluuid.c
- $(COMPILE)
-
-aslwalks.o : $(ASL_COMPILER)/aslwalks.c
- $(COMPILE)
-
-
-#
-# Data Table Compiler
-#
-dtcompile.o : $(ASL_COMPILER)/dtcompile.c
- $(COMPILE)
-
-dtexpress.o : $(ASL_COMPILER)/dtexpress.c
- $(COMPILE)
-
-dtfield.o : $(ASL_COMPILER)/dtfield.c
- $(COMPILE)
-
-dtio.o : $(ASL_COMPILER)/dtio.c
- $(COMPILE)
-
-dtsubtable.o : $(ASL_COMPILER)/dtsubtable.c
- $(COMPILE)
-
-dttable.o : $(ASL_COMPILER)/dttable.c
- $(COMPILE)
-
-dttemplate.o : $(ASL_COMPILER)/dttemplate.c
- $(COMPILE)
-
-dtutils.o : $(ASL_COMPILER)/dtutils.c
- $(COMPILE)
-
-
-#
-# ACPICA core source - common
-#
-adfile.o : $(ACPICA_COMMON)/adfile.c
- $(COMPILE)
-
-adisasm.o : $(ACPICA_COMMON)/adisasm.c
- $(COMPILE)
-
-adwalk.o : $(ACPICA_COMMON)/adwalk.c
- $(COMPILE)
-
-dmextern.o : $(ACPICA_COMMON)/dmextern.c
- $(COMPILE)
-
-dmrestag.o : $(ACPICA_COMMON)/dmrestag.c
- $(COMPILE)
-
-dmtable.o : $(ACPICA_COMMON)/dmtable.c
- $(COMPILE)
-
-dmtbdump.o : $(ACPICA_COMMON)/dmtbdump.c
- $(COMPILE)
-
-dmtbinfo.o : $(ACPICA_COMMON)/dmtbinfo.c
+%.o : %.c $(HEADERS) $(ACPICA_HEADERS)
$(COMPILE)
-getopt.o : $(ACPICA_COMMON)/getopt.c
- $(COMPILE)
-
-
-#
-# ACPICA core source
-#
-dbfileio.o : $(ACPICA_CORE)/debugger/dbfileio.c
- $(COMPILE)
-
-dmbuffer.o : $(ACPICA_CORE)/disassembler/dmbuffer.c
- $(COMPILE)
-
-dmnames.o : $(ACPICA_CORE)/disassembler/dmnames.c
- $(COMPILE)
-
-dmobject.o : $(ACPICA_CORE)/disassembler/dmobject.c
- $(COMPILE)
-
-dmopcode.o : $(ACPICA_CORE)/disassembler/dmopcode.c
- $(COMPILE)
-
-dmresrc.o : $(ACPICA_CORE)/disassembler/dmresrc.c
- $(COMPILE)
-
-dmresrcl.o : $(ACPICA_CORE)/disassembler/dmresrcl.c
- $(COMPILE)
-
-dmresrcs.o : $(ACPICA_CORE)/disassembler/dmresrcs.c
- $(COMPILE)
-
-dmutils.o : $(ACPICA_CORE)/disassembler/dmutils.c
- $(COMPILE)
-
-dmwalk.o : $(ACPICA_CORE)/disassembler/dmwalk.c
- $(COMPILE)
-
-dsargs.o : $(ACPICA_CORE)/dispatcher/dsargs.c
- $(COMPILE)
-
-dscontrol.o : $(ACPICA_CORE)/dispatcher/dscontrol.c
- $(COMPILE)
-
-dsfield.o : $(ACPICA_CORE)/dispatcher/dsfield.c
- $(COMPILE)
-
-dsobject.o : $(ACPICA_CORE)/dispatcher/dsobject.c
- $(COMPILE)
-
-dsopcode.o : $(ACPICA_CORE)/dispatcher/dsopcode.c
- $(COMPILE)
-
-dsutils.o : $(ACPICA_CORE)/dispatcher/dsutils.c
- $(COMPILE)
-
-dswexec.o : $(ACPICA_CORE)/dispatcher/dswexec.c
- $(COMPILE)
-
-dswload.o : $(ACPICA_CORE)/dispatcher/dswload.c
- $(COMPILE)
-
-dswload2.o : $(ACPICA_CORE)/dispatcher/dswload2.c
- $(COMPILE)
-
-dswscope.o : $(ACPICA_CORE)/dispatcher/dswscope.c
- $(COMPILE)
-
-dswstate.o : $(ACPICA_CORE)/dispatcher/dswstate.c
- $(COMPILE)
-
-exconvrt.o : $(ACPICA_CORE)/executer/exconvrt.c
- $(COMPILE)
-
-excreate.o : $(ACPICA_CORE)/executer/excreate.c
- $(COMPILE)
-
-exdump.o : $(ACPICA_CORE)/executer/exdump.c
- $(COMPILE)
-
-exmisc.o : $(ACPICA_CORE)/executer/exmisc.c
- $(COMPILE)
-
-exmutex.o : $(ACPICA_CORE)/executer/exmutex.c
- $(COMPILE)
-
-exnames.o : $(ACPICA_CORE)/executer/exnames.c
- $(COMPILE)
-
-exoparg1.o : $(ACPICA_CORE)/executer/exoparg1.c
- $(COMPILE)
-
-exoparg2.o : $(ACPICA_CORE)/executer/exoparg2.c
- $(COMPILE)
-
-exoparg3.o : $(ACPICA_CORE)/executer/exoparg3.c
- $(COMPILE)
-
-exoparg6.o : $(ACPICA_CORE)/executer/exoparg6.c
- $(COMPILE)
-
-exprep.o : $(ACPICA_CORE)/executer/exprep.c
- $(COMPILE)
-
-exregion.o : $(ACPICA_CORE)/executer/exregion.c
- $(COMPILE)
-
-exresnte.o : $(ACPICA_CORE)/executer/exresnte.c
- $(COMPILE)
-
-exresolv.o : $(ACPICA_CORE)/executer/exresolv.c
- $(COMPILE)
-
-exresop.o : $(ACPICA_CORE)/executer/exresop.c
- $(COMPILE)
-
-exstore.o : $(ACPICA_CORE)/executer/exstore.c
- $(COMPILE)
-
-exstoren.o : $(ACPICA_CORE)/executer/exstoren.c
- $(COMPILE)
-
-exstorob.o : $(ACPICA_CORE)/executer/exstorob.c
- $(COMPILE)
-
-exsystem.o : $(ACPICA_CORE)/executer/exsystem.c
- $(COMPILE)
-
-exutils.o : $(ACPICA_CORE)/executer/exutils.c
- $(COMPILE)
-
-nsaccess.o : $(ACPICA_CORE)/namespace/nsaccess.c
- $(COMPILE)
-
-nsalloc.o : $(ACPICA_CORE)/namespace/nsalloc.c
- $(COMPILE)
-
-nsdump.o : $(ACPICA_CORE)/namespace/nsdump.c
- $(COMPILE)
-
-nsnames.o : $(ACPICA_CORE)/namespace/nsnames.c
- $(COMPILE)
-
-nsobject.o : $(ACPICA_CORE)/namespace/nsobject.c
- $(COMPILE)
-
-nsparse.o : $(ACPICA_CORE)/namespace/nsparse.c
- $(COMPILE)
-
-nssearch.o : $(ACPICA_CORE)/namespace/nssearch.c
- $(COMPILE)
-
-nsutils.o : $(ACPICA_CORE)/namespace/nsutils.c
- $(COMPILE)
-
-nswalk.o : $(ACPICA_CORE)/namespace/nswalk.c
- $(COMPILE)
-
-nsxfobj.o : $(ACPICA_CORE)/namespace/nsxfobj.c
- $(COMPILE)
-
-psargs.o : $(ACPICA_CORE)/parser/psargs.c
- $(COMPILE)
-
-psloop.o : $(ACPICA_CORE)/parser/psloop.c
- $(COMPILE)
-
-psopcode.o : $(ACPICA_CORE)/parser/psopcode.c
- $(COMPILE)
-
-psparse.o : $(ACPICA_CORE)/parser/psparse.c
- $(COMPILE)
-
-psscope.o : $(ACPICA_CORE)/parser/psscope.c
- $(COMPILE)
-
-pstree.o : $(ACPICA_CORE)/parser/pstree.c
- $(COMPILE)
-
-psutils.o : $(ACPICA_CORE)/parser/psutils.c
- $(COMPILE)
-
-pswalk.o : $(ACPICA_CORE)/parser/pswalk.c
- $(COMPILE)
-
-tbfadt.o : $(ACPICA_CORE)/tables/tbfadt.c
- $(COMPILE)
-
-tbinstal.o : $(ACPICA_CORE)/tables/tbinstal.c
- $(COMPILE)
-
-tbutils.o : $(ACPICA_CORE)/tables/tbutils.c
- $(COMPILE)
-
-tbxface.o : $(ACPICA_CORE)/tables/tbxface.c
- $(COMPILE)
-
-utalloc.o : $(ACPICA_CORE)/utilities/utalloc.c
- $(COMPILE)
-
-utcache.o : $(ACPICA_CORE)/utilities/utcache.c
- $(COMPILE)
-
-utcopy.o : $(ACPICA_CORE)/utilities/utcopy.c
- $(COMPILE)
-
-utdebug.o : $(ACPICA_CORE)/utilities/utdebug.c
- $(COMPILE)
-
-utdecode.o : $(ACPICA_CORE)/utilities/utdecode.c
- $(COMPILE)
-
-utdelete.o : $(ACPICA_CORE)/utilities/utdelete.c
- $(COMPILE)
-
-utglobal.o : $(ACPICA_CORE)/utilities/utglobal.c
- $(COMPILE)
-
-utinit.o : $(ACPICA_CORE)/utilities/utinit.c
- $(COMPILE)
-
-utlock.o : $(ACPICA_CORE)/utilities/utlock.c
- $(COMPILE)
-
-utmath.o : $(ACPICA_CORE)/utilities/utmath.c
- $(COMPILE)
-
-utmisc.o : $(ACPICA_CORE)/utilities/utmisc.c
- $(COMPILE)
-
-utmutex.o : $(ACPICA_CORE)/utilities/utmutex.c
- $(COMPILE)
-
-utobject.o : $(ACPICA_CORE)/utilities/utobject.c
- $(COMPILE)
-
-utresrc.o : $(ACPICA_CORE)/utilities/utresrc.c
- $(COMPILE)
-
-utstate.o : $(ACPICA_CORE)/utilities/utstate.c
- $(COMPILE)
-
-utxferror.o : $(ACPICA_CORE)/utilities/utxferror.c
- $(COMPILE)
-
-utxface.o : $(ACPICA_CORE)/utilities/utxface.c
- $(COMPILE)
-
-
-#
-# Unix OS services layer (OSL)
-#
-osunixxf.o : $(ACPICA_OSL)/osunixxf.c
- $(COMPILE)
-
-
clean :
- rm -f $(PROG) $(PROG).exe $(OBJS) $(INTERMEDIATES) $(MISC)
+ rm -f $(PROG) $(PROG).exe $(OBJECTS) $(INTERMEDIATES) $(MISC)
install :
$(INSTALLPROG)