184 lines
5.7 KiB
Makefile
184 lines
5.7 KiB
Makefile
#######################################################################
|
|
#
|
|
# Copyright (C) 2006 Novell, Inc.
|
|
#
|
|
# This program is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU General Public
|
|
# License as published by the Free Software Foundation; either
|
|
# version 2 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 General Public
|
|
# License along with this program; if not, write to the Free
|
|
# Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
#
|
|
#
|
|
#######################################################################
|
|
|
|
if DEBUG
|
|
TARGET_CFG = Debug
|
|
CFLAGS += -v -w
|
|
CS_EXTRA_FLAGS = $(CSCFLAGS_DEBUG)
|
|
else
|
|
TARGET_CFG = Release
|
|
endif
|
|
|
|
SUBDIRS = lib startup
|
|
DIST_SUBDIRS = lib startup
|
|
|
|
DIST_SOURCES = *.cs
|
|
|
|
EXTRA_DIST = $(CSFILES) micasad* init/*.cs \
|
|
cache/*.cs common/*.cs communication/*.cs communication/win/*.cs \
|
|
init/*.cs init/*.resx lss/*.cs startup/micasad* verbs/*.cs \
|
|
test/cache/*.cs test/common/*.cs communication/*.cs communication/win/*.cs \
|
|
test/dependencies/*.dll test/verbs/*.cs test/*.txt \
|
|
startup/micasad* startup/casacfgpam startup/casaucfgpam
|
|
|
|
CASAROOT = ..
|
|
|
|
CASALIBDIR = $(CASAROOT)/$(LIB)
|
|
|
|
if LIB64
|
|
CASABINDIR = $(CASAROOT)/bin64
|
|
else
|
|
CASABINDIR = $(CASAROOT)/bin
|
|
endif
|
|
|
|
# handle Mono secondary dependencies
|
|
export MONO_PATH := $(MONO_PATH)
|
|
|
|
PLATFORMINDEPENDENTSOURCEDIR =
|
|
PLATFORMDEPENDENTSOURCEDIR = .
|
|
|
|
MODULE_NAME =micasad
|
|
MODULE_EXT =exe
|
|
|
|
|
|
CSFILES=$(srcdir)/AssemblyInfo.cs \
|
|
$(srcdir)/init/Main.cs \
|
|
$(srcdir)/init/AppHandler.cs \
|
|
$(srcdir)/common/RequestParser.cs \
|
|
$(srcdir)/common/SessionManager.cs \
|
|
$(srcdir)/common/User.cs \
|
|
$(srcdir)/common/UnixUser.cs \
|
|
$(srcdir)/common/UserIdentifier.cs \
|
|
$(srcdir)/common/UnixUserIdentifier.cs \
|
|
$(srcdir)/common/Constants.cs \
|
|
$(srcdir)/common/CSSSLogger.cs \
|
|
$(srcdir)/common/CSSSException.cs \
|
|
$(srcdir)/communication/IPCChannel.cs \
|
|
$(srcdir)/communication/CommunicationFactory.cs \
|
|
$(srcdir)/communication/UnixIPCChannel.cs \
|
|
$(srcdir)/communication/ICommunication.cs \
|
|
$(srcdir)/communication/UnixCommunication.cs \
|
|
$(srcdir)/cache/KeyChain.cs \
|
|
$(srcdir)/cache/Secret.cs \
|
|
$(srcdir)/cache/SecretStore.cs \
|
|
$(srcdir)/cache/KeyValue.cs \
|
|
$(srcdir)/cache/IKeychain.cs \
|
|
$(srcdir)/cache/ISecret.cs \
|
|
$(srcdir)/lss/FastRandom.cs \
|
|
$(srcdir)/lss/LocalStorage.cs \
|
|
$(srcdir)/lss/CASACrypto.cs \
|
|
$(srcdir)/lss/Rfc2898DeriveBytes.cs \
|
|
$(srcdir)/verbs/ISSVerb.cs \
|
|
$(srcdir)/verbs/GetSecretStoreInfo.cs \
|
|
$(srcdir)/verbs/OpenSecretStore.cs \
|
|
$(srcdir)/verbs/CloseSecretStore.cs \
|
|
$(srcdir)/verbs/RemoveSecretStore.cs \
|
|
$(srcdir)/verbs/AddKeyChain.cs \
|
|
$(srcdir)/verbs/RemoveKeyChain.cs \
|
|
$(srcdir)/verbs/WriteSecret.cs \
|
|
$(srcdir)/verbs/ReadSecret.cs \
|
|
$(srcdir)/verbs/RemoveSecret.cs \
|
|
$(srcdir)/verbs/EnumerateKeyChainIds.cs \
|
|
$(srcdir)/verbs/EnumerateSecretIds.cs \
|
|
$(srcdir)/verbs/SetMasterPassword.cs \
|
|
$(srcdir)/verbs/WriteKey.cs \
|
|
$(srcdir)/verbs/ReadKey.cs \
|
|
$(srcdir)/verbs/WriteBinaryKey.cs \
|
|
$(srcdir)/verbs/ReadBinaryKey.cs \
|
|
$(srcdir)/verbs/IsSecretPersistent.cs \
|
|
$(srcdir)/verbs/ObjectSerialization.cs \
|
|
$(srcdir)/test/cache/TestSecret.cs \
|
|
$(srcdir)/test/cache/TestKeyChain.cs \
|
|
$(srcdir)/test/cache/TestSecretStore.cs \
|
|
$(srcdir)/test/common/TestSessionManager.cs \
|
|
$(srcdir)/test/common/TestRequestParser.cs \
|
|
$(srcdir)/test/communication/TestUnixCommunication.cs \
|
|
$(srcdir)/test/verbs/TestOpenSecretStore.cs \
|
|
$(srcdir)/test/verbs/TestCloseSecretStore.cs \
|
|
$(srcdir)/test/verbs/TestEnumerateKeyChainIDs.cs \
|
|
$(srcdir)/test/verbs/TestEnumerateSecIDs.cs \
|
|
$(srcdir)/test/verbs/TestReadSecret.cs \
|
|
$(srcdir)/test/verbs/TestRemoveKeyChain.cs \
|
|
$(srcdir)/test/verbs/TestWriteSecret.cs
|
|
|
|
|
|
CSFILES_CSC := $(subst /,$(SEP),$(CSFILES))
|
|
CS_FLAGS = -d:LINUX -nowarn:169
|
|
CS_RESOURCES =
|
|
CS_LIBS =Mono.Posix.dll \
|
|
nunit.core.dll \
|
|
nunit.framework.dll \
|
|
nunit.extensions.dll \
|
|
nunit.util.dll \
|
|
nunit.mocks.dll \
|
|
$(CASALIBDIR)/$(TARGET_CFG)/Novell.CASA.Common.dll \
|
|
$(CASALIBDIR)/$(TARGET_CFG)/Novell.CASA.DataEngines.GnomeKeyring.dll
|
|
|
|
CS_LIBPATH = $(CASALIBDIR)/$(TARGET_CFG) $(srcdir)/test/dependencies
|
|
|
|
OBJDIR = ./$(TARGET_CFG)/$(LIB)
|
|
|
|
|
|
CUR_DIR := $(shell pwd)
|
|
all: $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT)
|
|
|
|
#
|
|
# Pattern based rules.
|
|
#
|
|
vpath %.cs $(PLATFORMDEPENDENTSOURCEDIR) $(PLATFORMINDEPENDENTSOURCEDIR)
|
|
|
|
$(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT): $(OBJDIR) $(CSFILES)
|
|
@echo compiling $@ ...
|
|
$(CSC) $(CS_FLAGS) $(CS_EXTRA_FLAGS) $(CS_LIBPATH:%=-lib:%) $(CS_LIBS:%=/r:%) -out:$@ $(CSFILES_CSC)
|
|
cp -f $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT) $(CASABINDIR)/$(TARGET_CFG)/$(MODULE_NAME).$(MODULE_EXT)
|
|
|
|
#$(OBJDIR):
|
|
# [ -d $(OBJDIR) ] || mkdir -p $(OBJDIR)
|
|
# [ -d $(CASALIBDIR) ] || mkdir -p $(CASALIBDIR)
|
|
# [ -d $(CASALIBDIR)/$(TARGET_CFG) ] || mkdir -p $(CASALIBDIR)/$(TARGET_CFG)
|
|
|
|
$(OBJDIR):
|
|
[ -d $(OBJDIR) ] || mkdir -p $(OBJDIR)
|
|
[ -d $(CASABINDIR) ] || mkdir -p $(CASABINDIR)
|
|
[ -d $(CASABINDIR)/$(TARGET_CFG) ] || mkdir -p $(CASABINDIR)/$(TARGET_CFG)
|
|
|
|
|
|
install-exec-local: $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT)
|
|
$(mkinstalldirs) $(DESTDIR)$(libdir)
|
|
$(INSTALL_PROGRAM) $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT) $(DESTDIR)$(libdir)/
|
|
|
|
uninstall-local:
|
|
cd $(DESTDIR)$(libdir); rm -f $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT)
|
|
rmdir $(DESTDIR)$(libdir)
|
|
|
|
#installcheck-local: install
|
|
# $(mkinstalldirs) $(DESTDIR)$(libdir)
|
|
# $(INSTALL_PROGRAM) $(DESTDIR)$(libdir)
|
|
# cd $(DESTDIR)$(libdir); $(MONO)
|
|
|
|
clean-local:
|
|
if [ -d $(TARGET_CFG) ]; then rm -rf $(TARGET_CFG); fi
|
|
|
|
distclean-local:
|
|
|
|
maintainer-clean-local:
|
|
rm -f Makefile.in
|