diff --git a/CASA-auth-token/Makefile.am b/CASA-auth-token/Makefile.am index 9772250e..148ac731 100644 --- a/CASA-auth-token/Makefile.am +++ b/CASA-auth-token/Makefile.am @@ -20,18 +20,21 @@ # ####################################################################### -SUBDIRS = server +SUBDIRS = server package -DIST_SUBDIRS = include server +DIST_SUBDIRS = include server package CFILES = -EXTRA_DIST = $(CFILES) *.h +EXTRA_DIST = $(CFILES) .PHONY: package package-clean package-install package-uninstall package package-clean package-install package-uninstall: $(MAKE) -C $(TARGET_OS) $@ +clean-local: + if [ -d lib ]; then rm -rf lib; fi + maintainer-clean-local: rm -f Makefile.in diff --git a/CASA-auth-token/README b/CASA-auth-token/README index eb881caf..3abc9805 100644 --- a/CASA-auth-token/README +++ b/CASA-auth-token/README @@ -6,14 +6,14 @@ INTRODUCTION -auth_token is an authentication token infrastructure with support for multiple +CASA-auth-token is an authentication token infrastructure with support for multiple authentication mechanisms with an emphasis on providing a scalable single sign-on solution. A key feature of auth_token is that its authentication tokens contain identity information about the entity being authenticated. This information is made available to the consuming services. The amount of information contained in the tokens is -configured on a per-service basis. Because of this feature, we say that auth_token +configured on a per-service basis. Because of this feature, we say that CASA-auth-token projects an "Authenticated Identity". ARCHITECTURE COMPONENTS diff --git a/CASA-auth-token/configure.in b/CASA-auth-token/configure.in index 255b2ce9..f6b98edf 100644 --- a/CASA-auth-token/configure.in +++ b/CASA-auth-token/configure.in @@ -260,6 +260,10 @@ fi # AC_OUTPUT([ Makefile +package/Makefile +package/linux/Makefile +package/linux/CASA-auth-token.spec +include/Makefile server/Makefile server/AuthTokenValidate/Makefile server/AuthTokenValidate/linux/Makefile @@ -272,6 +276,16 @@ server/ApacheSupport/Makefile server/ApacheSupport/2.2/Makefile server/ApacheSupport/2.2/linux/Makefile server/AuthTokenSvc/Makefile +server/AuthTokenSvc/src/Makefile +server/AuthTokenSvc/src/com/Makefile +server/AuthTokenSvc/src/com/novell/Makefile +server/AuthTokenSvc/src/com/novell/casa/Makefile +server/AuthTokenSvc/src/com/novell/casa/authtoksvc/Makefile server/JaasSupport/Makefile +server/JaasSupport/src/Makefile +server/JaasSupport/src/com/Makefile +server/JaasSupport/src/com/novell/Makefile +server/JaasSupport/src/com/novell/casa/Makefile +server/JaasSupport/src/com/novell/casa/jaas/Makefile ]) diff --git a/CASA-auth-token/server/ApacheSupport/2.2/linux/Makefile.am b/CASA-auth-token/server/ApacheSupport/2.2/linux/Makefile.am index 9ed33386..270c6def 100644 --- a/CASA-auth-token/server/ApacheSupport/2.2/linux/Makefile.am +++ b/CASA-auth-token/server/ApacheSupport/2.2/linux/Makefile.am @@ -31,10 +31,12 @@ SUBDIRS = DIST_SUBDIRS = -CASAROOT = ../../../../.. +ROOT = ../../../.. -CASALIBDIR = $(CASAROOT)/$(LIB) -APACHEROOT = /home/jluciani/dev-local/apache2.2 +CASAINCLUDE = ../../../../../CASA/include + +LIBDIR = $(ROOT)/$(LIB) +APACHEROOT = ../../../../../../httpd-2.2.2/instance # handle Mono secondary dependencies export MONO_PATH := $(MONO_PATH) @@ -48,13 +50,13 @@ MODULE_EXT = so CFILES = ../mod_authn_casa.c CSFILES_CSC := -INCLUDES = -I. -I$(CASAROOT)/include -I$(APACHEROOT)/include +INCLUDES = -I. -I$(CASAINCLUDE) -I$(ROOT)/include -I$(APACHEROOT)/include RESOURCES = DEFINES = -Wno-format-extra-args -fno-strict-aliasing CFLAGS += $(INCLUDES) $(DEFINES) -D_LARGEFILE64_SOURCE LIBS = -lpthread -lcasa_s_authtoken -lapr-1 -laprutil-1 -LDFLAGS = -Bsymbolic -shared -Wl,-soname=$(MODULE_NAME).$(MODULE_EXT) -L$(CASALIBDIR)/$(TARGET_CFG) -L$(APACHEROOT)/lib -Xlinker -rpath -Xlinker /opt/novell/CASA/lib +LDFLAGS = -Bsymbolic -shared -Wl,-soname=$(MODULE_NAME).$(MODULE_EXT) -L$(LIBDIR)/$(TARGET_CFG) -L$(APACHEROOT)/lib -Xlinker -rpath -Xlinker /opt/novell/CASA/lib OBJDIR = ./$(TARGET_CFG)/$(LIB) OBJS = $(addprefix $(OBJDIR)/, $(CFILES:%.c=%.o)) @@ -80,12 +82,12 @@ $(OBJDIR)/%.o: %.cpp $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT): $(OBJDIR) $(OBJS) @echo [======== Linking $@ ========] $(LINK) -o $@ $(LDFLAGS) $(OBJS) $(LIBS) - cp -f $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT) $(CASALIBDIR)/$(TARGET_CFG)/$(MODULE_NAME).$(MODULE_EXT) + cp -f $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT) $(LIBDIR)/$(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) + [ -d $(LIBDIR) ] || mkdir -p $(LIBDIR) + [ -d $(LIBDIR)/$(TARGET_CFG) ] || mkdir -p $(LIBDIR)/$(TARGET_CFG) install-exec-local: $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT) $(mkinstalldirs) $(DESTDIR)$(libdir) diff --git a/CASA-auth-token/server/AuthTokenSvc/Makefile.am b/CASA-auth-token/server/AuthTokenSvc/Makefile.am index a54ad79a..bdf0d71b 100644 --- a/CASA-auth-token/server/AuthTokenSvc/Makefile.am +++ b/CASA-auth-token/server/AuthTokenSvc/Makefile.am @@ -19,14 +19,14 @@ # ####################################################################### -SUBDIRS = -DIST_SUBDIRS = src src/com src/com/novell src/com/novell/casa src/com/novell/casa/authtoksvc +SUBDIRS = src +DIST_SUBDIRS = src -EXTRA_DIST = $(JAVAFILES) +EXTRA_DIST = -CASAROOT = ../../.. +ROOT = ../.. -CASALIBDIR = $(CASAROOT)/$(LIB) +LIBDIR = $(ROOT)/$(LIB) IDENT_ABSTRACTION_DIR = /home/jluciani/dev-local/bandit/trunk/IdentityAbstraction/build IDENT_ABSTRACTION_DEPENDANCIES_DIR = /home/jluciani/dev-local/bandit/trunk/commons/bin @@ -69,16 +69,6 @@ BUILDDIR = build WEBAPP = $(WEBAPP_NAME).$(WEBAPP_EXT) -#AUTHTOKEN_FILES = -C $(BUILDDIR)/webapp/WEB-INF/classes com/novell/casa/authtoksvc/AuthToken.class \ -# -C $(BUILDDIR)/webapp/WEB-INF/classes com/novell/casa/authtoksvc/AuthToken$SAXHandler.cless \ -# -C $(BUILDDIR)/webapp/WEB-INF/classes com/novell/casa/authtoksvc/AuthTokenConfig.class \ -# -C $(BUILDDIR)/webapp/WEB-INF/classes com/novell/casa/authtoksvc/AuthTokenConfig$SAXHandler.class \ -# -C $(BUILDDIR)/webapp/WEB-INF/classes com/novell/casa/authtoksvc/IdenTokenConfig.class \ -# -C $(BUILDDIR)/webapp/WEB-INF/classes com/novell/casa/authtoksvc/IdenTokenConfig$SAXHandler.class \ -# -C $(BUILDDIR)/webapp/WEB-INF/classes com/novell/casa/authtoksvc/IdentityToken.class \ -# -C $(BUILDDIR)/webapp/WEB-INF/classes com/novell/casa/authtoksvc/CasaIdentityToken.class \ -# -C $(BUILDDIR)/webapp/WEB-INF/classes com/novell/casa/authtoksvc/CasaIdentityToken$SAXHandler.class \ -# -C $(BUILDDIR)/webapp/WEB-INF/classes com/novell/casa/authtoksvc/Base64Coder.class AUTHTOKEN_FILES = -C $(BUILDDIR)/webapp/WEB-INF/classes com CLASSES = $(addprefix $(BUILDDIR)/, $(JAVAFILES:%.java=%.class)) @@ -105,12 +95,12 @@ $(BUILDDIR)/$(WEBAPP): $(BUILDDIR) $(CLASSES) cp $(IDENT_ABSTRACTION_DIR)/*.jar $(BUILDDIR)/webapp/WEB-INF/lib/ cp $(IDENT_ABSTRACTION_DEPENDANCIES_DIR)/*.jar $(BUILDDIR)/webapp/WEB-INF/lib/ jar cvf $(BUILDDIR)/$(WEBAPP) -C $(BUILDDIR)/webapp . - cp $(BUILDDIR)/$(WEBAPP) $(CASALIBDIR)/java/ + 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) $(CASALIBDIR)/java/ + cp $(BUILDDIR)/$(MODULE_NAME).$(MODULE_EXT) $(LIBDIR)/java/ $(BUILDDIR): [ -d $(BUILDDIR) ] || mkdir -p $(BUILDDIR) @@ -124,8 +114,8 @@ $(BUILDDIR): [ -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 $(CASALIBDIR) ] || mkdir -p $(CASALIBDIR) - [ -d $(CASALIBDIR)/java ] || mkdir -p $(CASALIBDIR)/java + [ -d $(LIBDIR) ] || mkdir -p $(LIBDIR) + [ -d $(LIBDIR)/java ] || mkdir -p $(LIBDIR)/java install-exec-local: @@ -135,8 +125,8 @@ uninstall-local: clean-local: if [ -d $(BUILDDIR) ]; then rm -rf $(BUILDDIR); fi - if [ -f $(CASALIBDIR)/java/$(MODULE_NAME).$(MODULE_EXT) ]; then rm -f $(CASALIBDIR)/java/$(MODULE_NAME).$(MODULE_EXT); fi - if [ -f $(CASALIBDIR)/java/$(WEBAPP) ]; then rm -f $(CASALIBDIR)/java/$(WEBAPP); 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: diff --git a/CASA-auth-token/server/AuthTokenValidate/idenTokenProviders/casa/linux/Makefile.am b/CASA-auth-token/server/AuthTokenValidate/idenTokenProviders/casa/linux/Makefile.am index 8f8738f2..963c68a1 100644 --- a/CASA-auth-token/server/AuthTokenValidate/idenTokenProviders/casa/linux/Makefile.am +++ b/CASA-auth-token/server/AuthTokenValidate/idenTokenProviders/casa/linux/Makefile.am @@ -31,9 +31,11 @@ SUBDIRS = DIST_SUBDIRS = -CASAROOT = ../../../../../.. +ROOT = ../../../../../.. -CASALIBDIR = $(CASAROOT)/$(LIB) +CASAINCLUDE = ../../../../../../CASA/include + +LIBDIR = $(ROOT)/$(LIB) # handle Mono secondary dependencies export MONO_PATH := $(MONO_PATH) @@ -50,7 +52,7 @@ CFILES = $(srcdir)/identokenprovider.c \ $(srcdir)/platform.c CSFILES_CSC := -INCLUDES = -I. -I.. -I../../.. -I$(CASAROOT)/include -I../../../../../include +INCLUDES = -I. -I.. -I../../.. -I$(CASAINCLUDE) -I../../../../../include RESOURCES = DEFINES = -Wno-format-extra-args -fno-strict-aliasing CFLAGS += $(INCLUDES) $(DEFINES) @@ -81,12 +83,12 @@ $(OBJDIR)/%.o: %.cpp $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT): $(OBJDIR) $(OBJS) @echo [======== Linking $@ ========] $(LINK) -o $@ $(LDFLAGS) $(OBJS) $(LIBS) - cp -f $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT) $(CASALIBDIR)/$(TARGET_CFG)/$(MODULE_NAME).$(MODULE_EXT) + cp -f $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT) $(LIBDIR)/$(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) + [ -d $(LIBDIR) ] || mkdir -p $(LIBDIR) + [ -d $(LIBDIR)/$(TARGET_CFG) ] || mkdir -p $(LIBDIR)/$(TARGET_CFG) install-exec-local: $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT) diff --git a/CASA-auth-token/server/AuthTokenValidate/linux/Makefile.am b/CASA-auth-token/server/AuthTokenValidate/linux/Makefile.am index 1c6abf59..11aad514 100644 --- a/CASA-auth-token/server/AuthTokenValidate/linux/Makefile.am +++ b/CASA-auth-token/server/AuthTokenValidate/linux/Makefile.am @@ -31,9 +31,10 @@ SUBDIRS = DIST_SUBDIRS = -CASAROOT = ../../../../ +ROOT = ../../../ +CASAINCLUDE = ../../../../CASA/include -CASALIBDIR = $(CASAROOT)/$(LIB) +LIBDIR = $(ROOT)/$(LIB) # handle Mono secondary dependencies export MONO_PATH := $(MONO_PATH) @@ -53,7 +54,7 @@ CFILES = $(srcdir)/config.c \ $(srcdir)/platform.c CSFILES_CSC := -INCLUDES = -I. -I.. -I$(CASAROOT)/include -I../../../include +INCLUDES = -I. -I.. -I$(CASAINCLUDE) -I../../../include RESOURCES = DEFINES = -Wno-format-extra-args -fno-strict-aliasing CFLAGS += $(INCLUDES) $(DEFINES) @@ -84,12 +85,12 @@ $(OBJDIR)/%.o: %.cpp $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT): $(OBJDIR) $(OBJS) @echo [======== Linking $@ ========] $(LINK) -o $@ $(LDFLAGS) $(OBJS) $(LIBS) - cp -f $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT) $(CASALIBDIR)/$(TARGET_CFG)/$(MODULE_NAME).$(MODULE_EXT) + cp -f $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT) $(LIBDIR)/$(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) + [ -d $(LIBDIR) ] || mkdir -p $(LIBDIR) + [ -d $(LIBDIR)/$(TARGET_CFG) ] || mkdir -p $(LIBDIR)/$(TARGET_CFG) install-exec-local: $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT) diff --git a/CASA-auth-token/server/JaasSupport/Makefile.am b/CASA-auth-token/server/JaasSupport/Makefile.am index a8f3876a..8c05e9c9 100644 --- a/CASA-auth-token/server/JaasSupport/Makefile.am +++ b/CASA-auth-token/server/JaasSupport/Makefile.am @@ -19,17 +19,14 @@ # ####################################################################### -SUBDIRS = -DIST_SUBDIRS = src src/com src/com/novell src/com/novell/casa src/com/novell/casa/jaas +SUBDIRS = src +DIST_SUBDIRS = src EXTRA_DIST = $(JAVAFILES) -CASAROOT = ../../.. +ROOT = ../.. -CASALIBDIR = $(CASAROOT)/$(LIB) - -#IDENT_ABSTRACTION_DIR = /home/jluciani/dev-local/bandit/trunk/IdentityAbstraction/build -#IDENT_ABSTRACTION_DEPENDANCIES_DIR = /home/jluciani/dev-local/bandit/trunk/commons/bin +LIBDIR = $(ROOT)/$(LIB) JAVAROOT = . JAVAC= javac @@ -45,7 +42,7 @@ BUILDDIR = build CLASSES = $(addprefix $(BUILDDIR)/, $(JAVAFILES:%.java=%.class)) LIBS = -CLASSPATH = $(CASALIBDIR)/java/CasaAuthToken.jar:$(LIBS) +CLASSPATH = $(LIBDIR)/java/CasaAuthToken.jar:$(LIBS) CUR_DIR := $(shell pwd) @@ -58,12 +55,13 @@ $(BUILDDIR)/%.class: %.java $(BUILDDIR)/$(MODULE_NAME).$(MODULE_EXT): $(BUILDDIR) $(CLASSES) @echo [======== Jarring $@ ========] jar cvf $(BUILDDIR)/$(MODULE_NAME).$(MODULE_EXT) -C $(BUILDDIR)/classes . - cp $(BUILDDIR)/$(MODULE_NAME).$(MODULE_EXT) $(CASALIBDIR)/java/ + cp $(BUILDDIR)/$(MODULE_NAME).$(MODULE_EXT) $(LIBDIR)/java/ $(BUILDDIR): [ -d $(BUILDDIR) ] || mkdir -p $(BUILDDIR) [ -d $(BUILDDIR)/classes ] || mkdir -p $(BUILDDIR)/classes - [ -d $(CASALIBDIR) ] || mkdir -p $(CASALIBDIR) + [ -d $(LIBDIR) ] || mkdir -p $(LIBDIR) + [ -d $(LIBDIR)/java ] || mkdir -p $(LIBDIR)/java install-exec-local: @@ -73,7 +71,7 @@ uninstall-local: clean-local: if [ -d $(BUILDDIR) ]; then rm -rf $(BUILDDIR); fi - if [ -f $(CASALIBDIR)/java/$(MODULE_NAME).$(MODULE_EXT) ]; then rm -f $(CASALIBDIR)/java/$(MODULE_NAME).$(MODULE_EXT); fi + if [ -f $(LIBDIR)/java/$(MODULE_NAME).$(MODULE_EXT) ]; then rm -f $(LIBDIR)/java/$(MODULE_NAME).$(MODULE_EXT); fi distclean-local: diff --git a/CASA-auth-token/server/Makefile.am b/CASA-auth-token/server/Makefile.am index 5810c8f2..7c9018be 100644 --- a/CASA-auth-token/server/Makefile.am +++ b/CASA-auth-token/server/Makefile.am @@ -20,7 +20,8 @@ # ####################################################################### -SUBDIRS = AuthTokenValidate ApacheSupport PamSupport AuthTokenSvc JaasSupport +SUBDIRS = AuthTokenValidate ApacheSupport PamSupport +#SUBDIRS = AuthTokenValidate ApacheSupport PamSupport AuthTokenSvc JaasSupport DIST_SUBDIRS = AuthTokenValidate ApacheSupport PamSupport AuthTokenSvc JaasSupport diff --git a/CASA-auth-token/server/PamSupport/linux/Makefile.am b/CASA-auth-token/server/PamSupport/linux/Makefile.am index 56c9ae3f..15c1b88a 100644 --- a/CASA-auth-token/server/PamSupport/linux/Makefile.am +++ b/CASA-auth-token/server/PamSupport/linux/Makefile.am @@ -31,9 +31,11 @@ SUBDIRS = DIST_SUBDIRS = -CASAROOT = ../../../.. +ROOT = ../../.. -CASALIBDIR = $(CASAROOT)/$(LIB) +CASAINCLUDE = ../../../../CASA/include + +LIBDIR = $(ROOT)/$(LIB) # handle Mono secondary dependencies export MONO_PATH := $(MONO_PATH) @@ -47,13 +49,13 @@ MODULE_EXT = so CFILES = ../pam_authtoken.c CSFILES_CSC := -INCLUDES = -I. -I$(CASAROOT)/include +INCLUDES = -I. -I$(CASAINCLUDE) -I../../../include RESOURCES = DEFINES = -Wno-format-extra-args -fno-strict-aliasing CFLAGS += $(INCLUDES) $(DEFINES) LIBS = -lpthread -lpam -lcasa_s_authtoken -LDFLAGS = -Bsymbolic -shared -Wl,-soname=$(MODULE_NAME).$(MODULE_EXT) -L$(CASALIBDIR)/$(TARGET_CFG) -Xlinker -rpath -Xlinker /opt/novell/CASA/lib +LDFLAGS = -Bsymbolic -shared -Wl,-soname=$(MODULE_NAME).$(MODULE_EXT) -L$(LIBDIR)/$(TARGET_CFG) -Xlinker -rpath OBJDIR = ./$(TARGET_CFG)/$(LIB) OBJS = $(addprefix $(OBJDIR)/, $(CFILES:%.c=%.o)) @@ -79,12 +81,12 @@ $(OBJDIR)/%.o: %.cpp $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT): $(OBJDIR) $(OBJS) @echo [======== Linking $@ ========] $(LINK) -o $@ $(LDFLAGS) $(OBJS) $(LIBS) - cp -f $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT) $(CASALIBDIR)/$(TARGET_CFG)/$(MODULE_NAME).$(MODULE_EXT) + cp -f $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT) $(LIBDIR)/$(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) + [ -d $(LIBDIR) ] || mkdir -p $(LIBDIR) + [ -d $(LIBDIR)/$(TARGET_CFG) ] || mkdir -p $(LIBDIR)/$(TARGET_CFG) install-exec-local: $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT) $(mkinstalldirs) $(DESTDIR)$(libdir)