Makefile.kmk revision 4fd606d1f5abe38e1f42c38de1d2e895166bd0f4
# $Id$
## @file
# Sub-makefile for the EFI VfrCompile build tool.
#
#
# Copyright (C) 2013 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
# you can redistribute it and/or modify it under the terms of the GNU
# General Public License (GPL) as published by the Free Software
# Foundation, in version 2 as it comes in the "COPYING" file of the
# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
#
# The contents of this file may alternatively be used under the terms
# of the Common Development and Distribution License Version 1.0
# (CDDL) only, as it comes in the "COPYING.CDDL" file of the
# VirtualBox OSE distribution, in which case the provisions of the
# CDDL are applicable instead of those of the GPL.
#
# You may elect to license modified versions of this file under the
# terms and conditions of either the GPL or the CDDL or both.
#
SUB_DEPTH = ../../../../../../../../..
include $(KBUILD_PATH)/subheader.kmk
BLDPROGS += VfrCompile
VfrCompile_TEMPLATE = VBoxEfiBldProg
VfrCompile_DEFS = PCCTS_USE_NAMESPACE_STD __USE_PROTOS
VfrCompile_INCS = \
. \
Pccts/h \
$(VfrCompile_0_OUTDIR)
VfrCompile_SOURCES = \
VfrCompiler.cpp \
VfrFormPkg.cpp \
VfrError.cpp \
VfrUtilityLib.cpp \
Pccts/h/AParser.cpp \
Pccts/h/DLexerBase.cpp \
Pccts/h/ATokenBuffer.cpp \
$(VfrCompile_0_OUTDIR)/VfrSyntax.cpp \
$(VfrCompile_0_OUTDIR)/EfiVfrParser.cpp \
$(VfrCompile_0_OUTDIR)/VfrLexer.cpp
VfrCompile_INTERMEDIATES = \
$(VfrCompile_0_OUTDIR)/VfrTokens.h \
$(VfrCompile_0_OUTDIR)/VfrLexer.h \
$(VfrCompile_0_OUTDIR)/EfiVfrParser.h
VfrCompile_CLEAN = \
$(VfrCompile_0_OUTDIR)/VfrSyntax.cpp \
$(VfrCompile_0_OUTDIR)/EfiVfrParser.cpp \
$(VfrCompile_0_OUTDIR)/VfrLexer.cpp
$$(VfrCompile_0_OUTDIR)/VfrSyntax.cpp \
+ $$(VfrCompile_0_OUTDIR)/EfiVfrParser.cpp \
+ $$(VfrCompile_0_OUTDIR)/EfiVfrParser.h \
+ $$(VfrCompile_0_OUTDIR)/VfrParser.dlg \
+ $$(VfrCompile_0_OUTDIR)/VfrTokens.h: \
$$(antlr_1_TARGET) \
$(PATH_SUB_CURRENT)/VfrSyntax.g
$(antlr_1_TARGET) -CC -e3 -ck 3 -k 2 \
-fl $(dir $@)/VfrParser.dlg \
-ft $(dir $@)/VfrTokens.h \
-o $(dir $@) \
$(VfrCompile_DEFPATH)/VfrSyntax.g
$$(VfrCompile_0_OUTDIR)/VfrLexer.cpp \
+ $$(VfrCompile_0_OUTDIR)/VfrLexer.h: \
$$(dlg_1_TARGET) \
$$(VfrCompile_0_OUTDIR)/VfrParser.dlg
$(dlg_1_TARGET) -C2 -i -CC -cl VfrLexer \
-o $(dir $@) \
$(VfrCompile_0_OUTDIR)/VfrParser.dlg
#
# Antlr parser generator from the Purdue Compiler Construction Tool Set.
#
BLDPROGS += antlr
antlr_TEMPLATE = VBoxEfiBldProg
antlr_DEFS = \
USER_ZZSYN \
ZZLEXBUFSIZE=65536 \
__USE_PROTOS
antlr_INCS = \
Pccts/antlr \
Pccts/support/set \
Pccts/h
antlr_SOURCES = \
Pccts/antlr/antlr.c \
Pccts/antlr/bits.c \
Pccts/antlr/build.c \
Pccts/antlr/egman.c \
Pccts/antlr/err.c \
Pccts/antlr/fcache.c \
Pccts/antlr/fset.c \
Pccts/antlr/fset2.c \
Pccts/antlr/gen.c \
Pccts/antlr/globals.c \
Pccts/antlr/hash.c \
Pccts/antlr/lex.c \
Pccts/antlr/main.c \
Pccts/antlr/misc.c \
Pccts/antlr/mrhoist.c \
Pccts/antlr/pred.c \
Pccts/antlr/scan.c \
Pccts/support/set/set.c
#
# DFA lexical analyzer generator from the Purdue Compiler Construction Tool Set.
#
BLDPROGS += dlg
dlg_TEMPLATE = VBoxEfiBldProg
dlg_DEFS = \
USER_ZZSYN \
ZZLEXBUFSIZE=65536 \
__USE_PROTOS
dlg_INCS = \
Pccts/dlg \
Pccts/support/set \
Pccts/h
dlg_SOURCES = \
Pccts/dlg/automata.c \
Pccts/dlg/dlg_a.c \
Pccts/dlg/dlg_p.c \
Pccts/dlg/err.c \
Pccts/dlg/main.c \
Pccts/dlg/output.c \
Pccts/dlg/relabel.c \
Pccts/dlg/support.c \
Pccts/support/set/set.c
include $(FILE_KBUILD_SUB_FOOTER)