####################################################################### # # 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. # # Author: Greg Richardson # ####################################################################### SUBDIRS = DIST_SUBDIRS = CFILES = EXTRA_DIST = ROOT = ../.. LIBDIR = $(ROOT)/$(LIB) IDENT_ABSTRACTION_DIR = $(BANDIT_DIR) XMLSEC_JARS_DIR = ../external/xmlsec/xml-security-1_4_0/libs XMLSEC_LICENSE = ../external/xmlsec/xml-security-1_4_0/LICENSE LOG4J_JARS_DIR = ../external/log4j/logging-log4j-1.2.14/dist/lib MANIFEST_DIR = ../manifest JAVAC= javac WEBAPP_NAME = CasaAuthTokenSvc WEBAPP_EXT = war MODULE_NAME = CasaAuthToken MODULE_EXT = jar AUTH_TOKEN_SETTINGS_EDITOR_MODULE_NAME = CasaAuthTokenSettingsEditor IDEN_TOKEN_SETTINGS_EDITOR_MODULE_NAME = CasaIdenTokenSettingsEditor SVC_SETTINGS_EDITOR_MODULE_NAME = CasaSvcSettingsEditor AUTH_POLICY_EDITOR_MODULE_NAME = CasaAuthPolicyEditor JAVAFILES = ../src/com/novell/casa/authtoksvc/ProtoDefs.java \ ../src/com/novell/casa/authtoksvc/AuthMechConfig.java \ ../src/com/novell/casa/authtoksvc/SvcConfig.java \ ../src/com/novell/casa/authtoksvc/IdenTokenConfig.java \ ../src/com/novell/casa/authtoksvc/AuthTokenConfig.java \ ../src/com/novell/casa/authtoksvc/EnabledSvcsConfig.java \ ../src/com/novell/casa/authtoksvc/AuthMechanism.java \ ../src/com/novell/casa/authtoksvc/SessionToken.java \ ../src/com/novell/casa/authtoksvc/Authenticate.java \ ../src/com/novell/casa/authtoksvc/RpcMethod.java \ ../src/com/novell/casa/authtoksvc/Rpc.java \ ../src/com/novell/casa/authtoksvc/GetAuthPolicy.java \ ../src/com/novell/casa/authtoksvc/Base64Coder.java \ ../src/com/novell/casa/authtoksvc/AuthReqMsg.java \ ../src/com/novell/casa/authtoksvc/AuthRespMsg.java \ ../src/com/novell/casa/authtoksvc/IdentityToken.java \ ../src/com/novell/casa/authtoksvc/CasaIdentityToken.java \ ../src/com/novell/casa/authtoksvc/AuthToken.java \ ../src/com/novell/casa/authtoksvc/GetAuthPolicyReqMsg.java \ ../src/com/novell/casa/authtoksvc/GetAuthPolicyRespMsg.java \ ../src/com/novell/casa/authtoksvc/GetAuthToken.java \ ../src/com/novell/casa/authtoksvc/GetAuthTokReqMsg.java \ ../src/com/novell/casa/authtoksvc/GetAuthTokRespMsg.java \ ../src/com/novell/casa/authtoksvc/Krb5Authenticate.java \ ../src/com/novell/casa/authtoksvc/PwdAuthenticate.java \ ../src/com/novell/casa/authtoksvc/IVerifySetting.java \ ../src/com/novell/casa/authtoksvc/SettingsFileUtil.java \ ../src/com/novell/casa/authtoksvc/SettingsFileSAXHandler.java \ ../src/com/novell/casa/authtoksvc/AuthPolicyEditor.java \ ../src/com/novell/casa/authtoksvc/AuthTokenSettingsEditor.java \ ../src/com/novell/casa/authtoksvc/IdenTokenSettingsEditor.java \ ../src/com/novell/casa/authtoksvc/RealmsInfo.java \ ../src/com/novell/casa/authtoksvc/SecureTokenUtil.java \ ../src/com/novell/casa/authtoksvc/SvcSettingsEditor.java BUILDDIR = ../build AUTHTOKEN_FILES = -C $(BUILDDIR)/webapp/WEB-INF/classes com AUTH_TOKEN_SETTINGS_EDITOR_FILES = -C $(BUILDDIR)/webapp/WEB-INF/classes com/novell/casa/authtoksvc/IVerifySetting.class \ -C $(BUILDDIR)/webapp/WEB-INF/classes com/novell/casa/authtoksvc/SettingsFileUtil.class \ -C $(BUILDDIR)/webapp/WEB-INF/classes com/novell/casa/authtoksvc/AuthTokenSettingsEditor.class \ -C $(BUILDDIR)/webapp/WEB-INF/classes com/novell/casa/authtoksvc/AuthTokenConfig.class IDEN_TOKEN_SETTINGS_EDITOR_FILES = -C $(BUILDDIR)/webapp/WEB-INF/classes com/novell/casa/authtoksvc/IVerifySetting.class \ -C $(BUILDDIR)/webapp/WEB-INF/classes com/novell/casa/authtoksvc/SettingsFileUtil.class \ -C $(BUILDDIR)/webapp/WEB-INF/classes com/novell/casa/authtoksvc/IdenTokenSettingsEditor.class \ -C $(BUILDDIR)/webapp/WEB-INF/classes com/novell/casa/authtoksvc/IdenTokenConfig.class SVC_SETTINGS_EDITOR_FILES = -C $(BUILDDIR)/webapp/WEB-INF/classes com/novell/casa/authtoksvc/IVerifySetting.class \ -C $(BUILDDIR)/webapp/WEB-INF/classes com/novell/casa/authtoksvc/SettingsFileUtil.class \ -C $(BUILDDIR)/webapp/WEB-INF/classes com/novell/casa/authtoksvc/SvcSettingsEditor.class \ -C $(BUILDDIR)/webapp/WEB-INF/classes com/novell/casa/authtoksvc/SvcConfig.class AUTH_POLICY_EDITOR_FILES = -C $(BUILDDIR)/webapp/WEB-INF/classes com/novell/casa/authtoksvc/AuthPolicyEditor.class WEBAPP = $(WEBAPP_NAME).$(WEBAPP_EXT) AUTH_TOKEN_SETTINGS_EDITOR = $(AUTH_TOKEN_SETTINGS_EDITOR_MODULE_NAME).$(MODULE_EXT) IDEN_TOKEN_SETTINGS_EDITOR = $(IDEN_TOKEN_SETTINGS_EDITOR_MODULE_NAME).$(MODULE_EXT) SVC_SETTINGS_EDITOR = $(SVC_SETTINGS_EDITOR_MODULE_NAME).$(MODULE_EXT) AUTH_POLICY_EDITOR = $(AUTH_POLICY_EDITOR_MODULE_NAME).$(MODULE_EXT) CLASSES = $(addprefix $(BUILDDIR)/, $(JAVAFILES:%.java=%.class)) LIBS = $(TOMCAT_DIR)/servlet-api.jar;$(LOG4J_JARS_DIR)/log4j-1.2.14.jar;$(XMLSEC_JARS_DIR)/xmlsec-1.4.0.jar;$(XMLSEC_JARS_DIR)/xercesImpl.jar;$(CASA32_SDK_DIR)/lib/miCASA.jar CLASSPATH = $(AXIS_LIBS);$(IDENT_ABSTRACTION_DIR)/identity-abstraction.jar;$(IDENT_ABSTRACTION_DIR)/bandit-util.jar;$(IDENT_ABSTRACTION_DIR)/castor-1.0.4.jar;$(LIBS) CUR_DIR := $(shell pwd) all: $(BUILDDIR)/$(WEBAPP) $(BUILDDIR)/$(MODULE_NAME).$(MODULE_EXT) $(BUILDDIR)/$(AUTH_TOKEN_SETTINGS_EDITOR) $(BUILDDIR)/$(IDEN_TOKEN_SETTINGS_EDITOR) $(BUILDDIR)/$(SVC_SETTINGS_EDITOR) $(BUILDDIR)/$(AUTH_POLICY_EDITOR) $(BUILDDIR)/%.class: %.java @echo [======== Compiling $@ ========] $(JAVAC) -g -sourcepath ../src -classpath "$(CLASSPATH)" -d $(BUILDDIR)/webapp/WEB-INF/classes $< # The following two lines may need to be added below before we jar-up the war for builds where there is no identity-abstraction install # cp $(IDENT_ABSTRACTION_DIR)/*.jar $(BUILDDIR)/webapp/WEB-INF/lib/ # rm $(BUILDDIR)/webapp/WEB-INF/lib/identity-abstraction.jar $(BUILDDIR)/$(WEBAPP): $(BUILDDIR) $(CLASSES) @echo [======== Creating Webapp $@ ========] cp ../web.xml $(BUILDDIR)/webapp/WEB-INF/web.xml cp ../templates/svc.settings $(BUILDDIR)/webapp/WEB-INF/conf/svc.settings cp ../templates/authtoken.settings $(BUILDDIR)/webapp/WEB-INF/conf/authtoken.settings cp ../templates/identoken.settings $(BUILDDIR)/webapp/WEB-INF/conf/identoken.settings cp ../templates/windows/casa_crypto.properties $(BUILDDIR)/webapp/WEB-INF/classes/casa_crypto.properties cp ../src/com/novell/casa/authtoksvc/Krb5_mechanism.settings $(BUILDDIR)/webapp/WEB-INF/conf/installed_auth_mechanisms/Krb5Authenticate/mechanism.settings cp ../src/com/novell/casa/authtoksvc/Pwd_mechanism.settings $(BUILDDIR)/webapp/WEB-INF/conf/installed_auth_mechanisms/PwdAuthenticate/mechanism.settings cp $(XMLSEC_JARS_DIR)/commons-logging.jar $(BUILDDIR)/webapp/WEB-INF/lib/ cp $(XMLSEC_JARS_DIR)/xercesImpl.jar $(BUILDDIR)/webapp/WEB-INF/lib/ cp $(XMLSEC_JARS_DIR)/xmlsec-1.4.0.jar $(BUILDDIR)/webapp/WEB-INF/lib/ cp $(LOG4J_JARS_DIR)/log4j-1.2.14.jar $(BUILDDIR)/webapp/WEB-INF/lib/ cp $(IDENT_ABSTRACTION_DIR)/identity-abstraction.jar $(BUILDDIR)/webapp/WEB-INF/lib/ cp $(IDENT_ABSTRACTION_DIR)/bandit-util.jar $(BUILDDIR)/webapp/WEB-INF/lib/ cp $(IDENT_ABSTRACTION_DIR)/castor-1.0.4.jar $(BUILDDIR)/webapp/WEB-INF/lib/ cp $(IDENT_ABSTRACTION_DIR)/ldap.jar $(BUILDDIR)/webapp/WEB-INF/lib/ cp $(IDENT_ABSTRACTION_DIR)/sunxacml-exp.jar $(BUILDDIR)/webapp/WEB-INF/lib/ cp $(IDENT_ABSTRACTION_DIR)/sunxacml-support-exp.jar $(BUILDDIR)/webapp/WEB-INF/lib/ cp $(IDENT_ABSTRACTION_DIR)/dom4j-1.6.1.jar $(BUILDDIR)/webapp/WEB-INF/lib/ cp $(IDENT_ABSTRACTION_DIR)/jaxen-1.1-beta-12.jar $(BUILDDIR)/webapp/WEB-INF/lib/ cp "$(CASA32_SDK_DIR)/lib/miCASA.jar" $(BUILDDIR)/webapp/WEB-INF/lib/ ls $(BUILDDIR)/webapp/WEB-INF/lib/ jar cvf $(BUILDDIR)/$(WEBAPP) -C $(BUILDDIR)/webapp . echo "LIBDIR = $(LIBDIR)" cp $(BUILDDIR)/$(WEBAPP) $(LIBDIR)/java/ $(BUILDDIR)/$(MODULE_NAME).$(MODULE_EXT): $(BUILDDIR) $(CLASSES) @echo [======== Jarring $@ ========] jar cvf $(BUILDDIR)/$(MODULE_NAME).$(MODULE_EXT) $(AUTHTOKEN_FILES) cp $(BUILDDIR)/$(MODULE_NAME).$(MODULE_EXT) $(LIBDIR)/java/ $(BUILDDIR)/$(AUTH_TOKEN_SETTINGS_EDITOR): $(BUILDDIR) $(CLASSES) @echo [======== Jarring $@ ========] jar cvmf $(MANIFEST_DIR)/AuthTokenSettingsEditor.txt $(BUILDDIR)/$(AUTH_TOKEN_SETTINGS_EDITOR) $(AUTH_TOKEN_SETTINGS_EDITOR_FILES) cp $(BUILDDIR)/$(AUTH_TOKEN_SETTINGS_EDITOR) $(LIBDIR)/java/ $(BUILDDIR)/$(IDEN_TOKEN_SETTINGS_EDITOR): $(BUILDDIR) $(CLASSES) @echo [======== Jarring $@ ========] jar cvmf $(MANIFEST_DIR)/IdenTokenSettingsEditor.txt $(BUILDDIR)/$(IDEN_TOKEN_SETTINGS_EDITOR) $(IDEN_TOKEN_SETTINGS_EDITOR_FILES) cp $(BUILDDIR)/$(IDEN_TOKEN_SETTINGS_EDITOR) $(LIBDIR)/java/ $(BUILDDIR)/$(SVC_SETTINGS_EDITOR): $(BUILDDIR) $(CLASSES) @echo [======== Jarring $@ ========] jar cvmf $(MANIFEST_DIR)/SvcSettingsEditor.txt $(BUILDDIR)/$(SVC_SETTINGS_EDITOR) $(SVC_SETTINGS_EDITOR_FILES) cp $(BUILDDIR)/$(SVC_SETTINGS_EDITOR) $(LIBDIR)/java/ $(BUILDDIR)/$(AUTH_POLICY_EDITOR): $(BUILDDIR) $(CLASSES) @echo [======== Jarring $@ ========] jar cvmf $(MANIFEST_DIR)/AuthPolicyEditor.txt $(BUILDDIR)/$(AUTH_POLICY_EDITOR) $(AUTH_POLICY_EDITOR_FILES) cp $(BUILDDIR)/$(AUTH_POLICY_EDITOR) $(LIBDIR)/java/ $(BUILDDIR): [ -d $(BUILDDIR) ] || mkdir -p $(BUILDDIR) [ -d $(BUILDDIR)/webapp ] || mkdir -p $(BUILDDIR)/webapp [ -d $(BUILDDIR)/webapp/WEB-INF ] || mkdir -p $(BUILDDIR)/webapp/WEB-INF [ -d $(BUILDDIR)/webapp/WEB-INF/classes ] || mkdir -p $(BUILDDIR)/webapp/WEB-INF/classes [ -d $(BUILDDIR)/webapp/WEB-INF/lib ] || mkdir -p $(BUILDDIR)/webapp/WEB-INF/lib [ -d $(BUILDDIR)/webapp/WEB-INF/conf ] || mkdir -p $(BUILDDIR)/webapp/WEB-INF/conf [ -d $(BUILDDIR)/webapp/WEB-INF/conf/enabled_services ] || mkdir -p $(BUILDDIR)/webapp/WEB-INF/conf/enabled_services [ -d $(BUILDDIR)/webapp/WEB-INF/conf/auth_mechanisms ] || mkdir -p $(BUILDDIR)/webapp/WEB-INF/conf/auth_mechanisms [ -d $(BUILDDIR)/webapp/WEB-INF/conf/installed_auth_mechanisms ] || mkdir -p $(BUILDDIR)/webapp/WEB-INF/conf/installed_auth_mechanisms [ -d $(BUILDDIR)/webapp/WEB-INF/conf/installed_auth_mechanisms/Krb5Authenticate ] || mkdir -p $(BUILDDIR)/webapp/WEB-INF/conf/installed_auth_mechanisms/Krb5Authenticate [ -d $(BUILDDIR)/webapp/WEB-INF/conf/installed_auth_mechanisms/PwdAuthenticate ] || mkdir -p $(BUILDDIR)/webapp/WEB-INF/conf/installed_auth_mechanisms/PwdAuthenticate [ -d $(LIBDIR) ] || mkdir -p $(LIBDIR) [ -d $(LIBDIR)/java ] || mkdir -p $(LIBDIR)/java install-exec-local: uninstall-local: #installcheck-local: install clean-local: if [ -d $(BUILDDIR) ]; then rm -rf $(BUILDDIR); fi if [ -f $(LIBDIR)/java/$(MODULE_NAME).$(MODULE_EXT) ]; then rm -f $(LIBDIR)/java/$(MODULE_NAME).$(MODULE_EXT); fi if [ -f $(LIBDIR)/java/$(WEBAPP) ]; then rm -f $(LIBDIR)/java/$(WEBAPP); fi distclean-local: maintainer-clean-local: rm -f Makefile.in rm -f Makefile