lrc / src / compiler / Makefile.am

#      Makefile.am
#
#      Copyright 2011-2013 Andreas Tscharner <andy@vis.ethz.ch>
#
#      This program is free software; you can redistribute it and/or modify
#      it under the terms of the GNU Lesser General Public License as
#      published by the Free Software Foundation; either version 3 of the
#      License, or (at your option) any later version.
#
#      This program is distributed in the hope that it will be useful,
#      but WITHOUT ANY WARRANTY; without even the implied warranty of
#      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#      GNU General Public License for more details.
#
#      You should have received a copy of the GNU Lesser General Public
#      License along with this program; if not, write to the Free Software
#      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
#      MA 02110-1301, USA.


#
# Silence automake complain
AUTOMAKE_OPTIONS = subdir-objects

#
# tinyXML library in subdirectory
if !HAVE_TINYXML
SUBDIRS = tinyxml
endif


#
# Check for DEBUG mode
if DEBUG
DEBUG_CFLAGS = -D__DEBUG__
DEBUG_CXXFLAGS = -D__DEBUG__
else
DEBUG_CFLAGS = -O2
DEBUG_CXXFLAGS = -O2
endif

#
# Define C/C++ compiler flags for libraries
TINYXML_LIBADD = -ltinyxml
if HAVE_TINYXML
TINYXML_CFLAGS =
TINYXML_CXXFLAGS =
TINYXML_LIBFLAGS =
else
TINYXML_CFLAGS = -Itinyxml
TINYXML_CXXFLAGS = -Itinyxml
TINYXML_LIBFLAGS = -Ltinyxml
endif

if NO_ENCRYPTION
CRYPTOPP_LIBADD=
else
CRYPTOPP_LIBADD = -lcryptopp
if HAVE_CRYPTOPP
CRYPTOPP_LIBFLAGS=
else
CRYPTOPP_LIBFLAGS = -L../strategies/cryptopp
endif
endif


#
# Define compiler flags
AM_CFLAGS = $(DEBUG_CFLAGS) $(TINYXML_CFLAGS)
AM_CXXFLAGS = $(DEBUG_CXXFLAGS) $(TINYXML_CXXFLAGS) -std=c++0x

#
# Define main program
bin_PROGRAMS = lrc

#
# Define source files for main program
lrc_SOURCES = ../lrcExceptions.hxx ../lrcExceptions.cxx                                  \
              ../include/Resource.hxx ../Resource.cxx                                    \
              ../ResourceData.hxx ../ResourceData.cxx                                    \
              ../Utils.hxx ../Utils.cxx                                                  \
              ../StatusCodes.hxx                                                         \
              ../Factories.hxx ../Factories.cxx                                          \
              ../strategies/NoneCompression.hxx ../strategies/NoneCompression.cxx        \
              ../strategies/zLibCompression.hxx ../strategies/zLibCompression.cxx        \
              ../strategies/bz2LibCompression.hxx ../strategies/bz2LibCompression.cxx    \
              ../strategies/NoneEncryption.hxx ../strategies/NoneEncryption.cxx          \
              ParserFactory.hxx ParserFactory.cxx                                        \
              InFileParser.hxx InFileParser.cxx                                          \
              RCParser.hxx RCParser.cxx                                                  \
              RIFParser.hxx RIFParser.cxx                                                \
              Collector.hxx Collector.cxx                                                \
              lrc.cxx

if !NO_ENCRYPTION
lrc_SOURCES += ../strategies/SerpentEncryption.hxx ../strategies/SerpentEncryption.cxx
endif

#
# Library flags for main program
lrc_LDADD = $(TINYXML_LIBADD) $(CRYPTOPP_LIBADD) -lz -lbz2
lrc_LDFLAGS = $(TINYXML_LIBFLAGS) $(CRYPTOPP_LIBFLAGS) -export-dynamic
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.