###########################################################################
#
# Makefile -- src/getpw
# A component of the Greenstone digital library software
# from the New Zealand Digital Library Project at the
# University of Waikato, New Zealand.
#
# Copyright (C) 2000-2008  The New Zealand Digital Library Project
#
# 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.
#
###########################################################################

GSDL_DIR = ../../..
COMMON_DIR = $(GSDL_DIR)/common-src

CC = @CC@
CXX = @CXX@
CXXFLAGS = @CXXFLAGS@ @ARCH_DEP_FLAGS@
DEFS = @DEFS@
GSDLOS = @gsdlos@
UNAME := $(shell uname -o)
INCLUDES = -I. -I$(COMMON_DIR) -I$(COMMON_DIR)/src/lib
STRIP   = @STRIP@
INSTALL = @INSTALL@
LDFLAGS = @GETPW_EXTRA_LDFLAGS@ @LDFLAGS@ @ARCH_DEP_FLAGS@
LIBS = @LIBS@
#LIBS = -lfreebl3 @LIBS@
#LIBS=@GETPW_EXTRA_LIBS@ @LIBS@


CCOMPILE = $(CC) -c $(CFLAGS) $(DEFS) $(INCLUDES)
CXXCOMPILE = $(CXX) -c $(CXXFLAGS) $(DEFS) $(INCLUDES)
CXXLINK = $(CXX) $(LDFLAGS) -o $@


#.SUFFIXES:
#.SUFFIXES: .cpp .o
#.cpp.o:
#	$(CXXCOMPILE) $< 

%.o: %.cpp
	$(CXXCOMPILE) $< 

%.o: %.c
	$(CCOMPILE) $< 


SOURCES = \
	getpw.cpp

ifeq ($(GSDLOS),windows)
  ifneq ($(UNAME),Cygwin) 
    # e.g. we are cross-compiling with mingw under Linux 
    SOURCES += crypt.c crypt_util.c getpass.c
  endif
endif

ifeq ($(GSDLOS),android)
  SOURCES += crypt.c crypt_util.c
endif

OBJECTS = \
	getpw.o

ifeq ($(GSDLOS),windows)
  ifneq ($(UNAME),Cygwin)
    # e.g. we are cross-compiling with mingw under Linux
    OBJECTS += crypt.o crypt_util.o getpass.o
  endif
endif

ifeq ($(GSDLOS),android)
  OBJECTS += crypt.o crypt_util.o
endif

EXECUTABLE_OBJECTS = \
	$(OBJECTS)

EXECUTABLE = getpw


# Default target: make the getpw executable
all: $(EXECUTABLE)

getpw: $(EXECUTABLE_OBJECTS)
	$(CXXLINK) $(EXECUTABLE_OBJECTS) $(LIBS)

install: $(EXECUTABLE)
	$(INSTALL) -d $(GSDL_DIR)/bin/$(GSDLOS)
	$(STRIP) $(EXECUTABLE)
	$(INSTALL) -m 755 $(EXECUTABLE) $(GSDL_DIR)/bin/$(GSDLOS)

clean:
	rm -f $(OBJECTS) $(EXECUTABLE)

distclean:
	rm -f $(OBJECTS) $(EXECUTABLE) Makefile

depend:
	makedepend -Y -- $(DEFS) $(INCLUDES) $(CXXFLAGS) -- $(SOURCES)
