####################################################################### # # 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