####################################################################### # # 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 = DIST_SUBDIRS = common communication EXTRA_DIST = $(CSFILES) CASAROOT = ../.. if X86 CASALIBDIR = $(CASAROOT)/lib64 else CASALIBDIR = $(CASAROOT)/lib endif # handle Mono secondary dependencies export MONO_PATH := $(MONO_PATH) PLATFORMINDEPENDENTSOURCEDIR = PLATFORMDEPENDENTSOURCEDIR = . MODULE_NAME =Novell.CASA.Common MODULE_EXT =dll CSFILES = $(srcdir)/AssemblyInfo.cs \ $(srcdir)/common/LinkedKeyInfo.cs \ $(srcdir)/common/Utils.cs \ $(srcdir)/common/Ping.cs \ $(srcdir)/common/ResetMasterPassword.cs \ $(srcdir)/common/WrappedObject.cs \ $(srcdir)/common/MiCASAStore.cs \ $(srcdir)/communication/IClientChannel.cs \ $(srcdir)/communication/IPCClientFactory.cs \ $(srcdir)/communication/MiCasaRequestReply.cs \ $(srcdir)/communication/UnixIPCClientChannel.cs CSFILES_CSC := $(subst /,$(SEP),$(CSFILES)) CS_INCLUDES = -I. -I.. -I$(CASAROOT)/include CS_FLAGS = /target:"library" /r:Mono.Posix.dll -d:LINUX CS_RESOURCES = CS_LIBS = CS_LIBPATH = if X86 OBJDIR = ./$(TARGET_CFG)/lib64 else OBJDIR = ./$(TARGET_CFG)/lib endif #OBJS = $(addprefix $(OBJDIR)/, $(CSFILES:%.dll=%.cs)) CUR_DIR := $(shell pwd) all: $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT) # # Pattern based rules. # vpath %.c $(PLATFORMDEPENDENTSOURCEDIR) $(PLATFORMINDEPENDENTSOURCEDIR) vpath %.cpp $(PLATFORMDEPENDENTSOURCEDIR) $(PLATFORMINDEPENDENTSOURCEDIR) vpath %.cs $(PLATFORMDEPENDENTSOURCEDIR) $(PLATFORMINDEPENDENTSOURCEDIR) $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT): $(OBJDIR) $(CSFILES) $(CSC) $(CS_FLAGS) $(CS_EXTRA_FLAGS) -out:$@ $(CSFILES_CSC) cp -f $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT) $(CASALIBDIR)/$(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) 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