# BEGIN COPYRIGHT BLOCK
# Copyright (C) 2001 Sun Microsystems, Inc.  Used by permission.
# Copyright (C) 2005 Red Hat, Inc.
# All rights reserved.
#
# 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., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
#

# END COPYRIGHT BLOCK
# Source for the install forms and CGI programs

.SUFFIXES: .cc

BUILD_ROOT = ../../..

MODULE=admservInstallBin
override BUILD_MODULE = HTTP_ADMIN
NOSTDCLEAN=true
NOSTDSTRIP=true

include $(BUILD_ROOT)/nsconfig.mk

MODULE_CFLAGS += -DUSE_ADMSERV

OBJDEST=$(ADMSERV_OBJDIR)/install/obj
BINDEST=$(ADMSERV_OBJDIR)/install/bin

OSOBJS=
OBJS1=$(OBJDEST)/ux-dialog.o
OBJS2=

PROGS= ns-config ns-update ns-remove
ifeq ($(ARCH),WINNT)
BINS=
OSOBJS=
OBJS1=
OBJS2=
OSLIBS=
OSDEPLIBS=
LIBS=
else
BINS=$(addprefix $(BINDEST)/, $(PROGS))
endif
INFO= $(OBJDIR)/$(DIR)

# Source for staged installation utilities (currently checkedout with Admin
LIBDIR=$(OBJDIR)/lib
INCDIR=-I$(OBJDIR)/include -I$(SETUPUTIL_INCLUDE)

all: $(OBJDEST) $(BINDEST) $(OSOBJS) $(OBJS1) $(OBJS2) $(BINS) $(INFO) $(OBJDIR)/LICENSE.txt $(OBJDIR)/README.txt

ifeq ($(ARCH), BSDI)
CFLAGS += -DNO_DOMAINNAME
endif

$(OBJDEST):
	mkdir -p $(OBJDEST)

$(BINDEST):
	mkdir -p $(BINDEST)

clean:
	$(RM) -f  *.o $(BINS) $(PUREFILES)
	cd $(BINDEST); $(RM) -f $(BINS)

strip:
	$(STRIP) $(BINS)
	cd $(BINDEST); $(STRIP) $(BINS)

LIBINST= $(SETUPUTIL_LIBPATH)/libinstall.a

DEPLIBS= $(OSDEPLIBS)

ifeq ($(ARCH), HPUX)
   ifeq ($(NSOS_RELEASE),B.10.10)
      CURSES=-lHcurses
   else
      ifeq ($(NSOS_RELEASE), B.10.20)
         CURSES=-lHcurses
      else
         ifeq ($(NSOS_RELEASE), B.11.00)
            CURSES=-lHcurses
            EXTRA_LIBS+= -ld4r
         else
            ifeq ($(NSOS_RELEASE), B.11.11)
               CURSES=-lHcurses
               EXTRA_LIBS+= -ld4r
            else
               CURSES=-lcurses
            endif
         endif
      endif
   endif
else
   CURSES=-lcurses -ltermcap
endif

ifeq ($(ARCH), IRIX)
EXTRA_LIBS= -lm
endif

ifeq ($(ARCH), OSF1)
EXTRA_LIBS= -lm
endif

ifeq ($(ARCH), AIX)
CURSES=-lcurses
endif

$(OBJDIR)/LICENSE.txt: ../common/LICENSE.txt
	cp ../common/LICENSE.txt $(OBJDIR)/LICENSE.txt

$(OBJDIR)/README.txt: ../common/README.txt
	cp ../common/README.txt $(OBJDIR)/README.txt

$(BINDEST)/ns-config: $(OBJDEST)/ux-config.o $(OBJS1) $(DEPLIBS) $(LIBINST)
	$(CXX) $(MODULE_CFLAGS) -o $(BINDEST)/ns-config $(OBJDEST)/ux-config.o \
		$(OBJS1) $(LIBINST) $(LIBLDAP) \
                $(DEPLIBS) $(EXTRA_LIBS) $(CURSES) 

$(BINDEST)/ns-update: $(OBJDEST)/ux-update.o $(OBJS2) $(DEPLIBS) $(LIBINST)
	$(CXX) $(MODULE_CFLAGS) -o $(BINDEST)/ns-update $(OBJDEST)/ux-update.o \
		$(OBJS2) $(LIBINST) $(LIBLDAP) \
	        $(DEPLIBS) $(EXTRA_LIBS) $(CURSES)

$(BINDEST)/ns-remove: $(OBJDEST)/ux-remove.o $(DEPLIBS) $(LIBINST)
	$(CXX) $(MODULE_CFLAGS) -o $(BINDEST)/ns-remove $(OBJDEST)/ux-remove.o \
		$(OBJS2) $(LIBINST) $(LIBLDAP) \
		$(DEPLIBS) $(EXTRA_LIBS) $(CURSES)

$(OBJDEST)/%.o: %.c
	$(CC) $(NONSHARED) -o $(OBJDEST)/$*.o -c $(CFLAGS) $(MCC_INCLUDE) $(INCDIR) $<

$(OBJDEST)/%.o: %.cc
	$(CXX) $(NONSHARED) -o $(OBJDEST)/$*.o -c $(CFLAGS) $(MCC_INCLUDE) $(INCDIR) $<

$(INFO):
# extra blank "" at end is for backup files - we have none
	$(PERL) -w fixPI.pl $(BUILD_MODULE) $(BUILD_ROOT)/include/version.h $(BUILD_ROOT)/$(NSPLATFORM_DIR)/buildnum.dat $(BUILD_SECURITY) admin.inf $(PRODUCT) $@.inf $(BUILD_BOMB) ""
