111 lines
3.1 KiB
Makefile
111 lines
3.1 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.
|
|
#
|
|
# Author: Juan Carlos Luciani <jluciani@novell.com>
|
|
#
|
|
#######################################################################
|
|
|
|
if DEBUG
|
|
TARGET_CFG = Debug
|
|
CFLAGS += -v -w
|
|
else
|
|
TARGET_CFG = Release
|
|
endif
|
|
|
|
SUBDIRS =
|
|
|
|
DIST_SUBDIRS =
|
|
|
|
CASAROOT = ../../../..
|
|
|
|
CASALIBDIR = $(CASAROOT)/$(LIB)
|
|
|
|
# handle Mono secondary dependencies
|
|
export MONO_PATH := $(MONO_PATH)
|
|
|
|
PLATFORMINDEPENDENTSOURCEDIR = ..
|
|
PLATFORMDEPENDENTSOURCEDIR = .
|
|
|
|
MODULE_NAME = pam_casaauthtok
|
|
MODULE_EXT = so
|
|
|
|
CFILES = ../pam_authtoken.c
|
|
|
|
CSFILES_CSC :=
|
|
INCLUDES = -I. -I$(CASAROOT)/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
|
|
|
|
OBJDIR = ./$(TARGET_CFG)/$(LIB)
|
|
OBJS = $(addprefix $(OBJDIR)/, $(CFILES:%.c=%.o))
|
|
|
|
EXTRA_DIST = $(CFILES)
|
|
|
|
CUR_DIR := $(shell pwd)
|
|
|
|
all: $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT)
|
|
|
|
#
|
|
# Pattern based rules.
|
|
#
|
|
vpath %.c $(PLATFORMDEPENDENTSOURCEDIR) $(PLATFORMINDEPENDENTSOURCEDIR)
|
|
vpath %.cpp $(PLATFORMDEPENDENTSOURCEDIR) $(PLATFORMINDEPENDENTSOURCEDIR)
|
|
|
|
$(OBJDIR)/%.o: %.c
|
|
$(CC) -c $(CFLAGS) -o $@ $<
|
|
|
|
$(OBJDIR)/%.o: %.cpp
|
|
$(CC) -c $(CFLAGS) -o $@ $<
|
|
|
|
$(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)
|
|
|
|
$(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:
|
|
#cd $(TARGET_CFG); rm -rf *.dbg *.exe *.dll *.o *.so; cd ..; rmdir $(OBJDIR)
|
|
rm -rf $(TARGET_CFG)
|
|
|
|
distclean-local:
|
|
|
|
maintainer-clean-local:
|
|
rm -f Makefile.in
|
|
|