summaryrefslogtreecommitdiffstats
path: root/ldap/admin/src/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'ldap/admin/src/Makefile')
-rw-r--r--ldap/admin/src/Makefile304
1 files changed, 304 insertions, 0 deletions
diff --git a/ldap/admin/src/Makefile b/ldap/admin/src/Makefile
new file mode 100644
index 00000000..e3343791
--- /dev/null
+++ b/ldap/admin/src/Makefile
@@ -0,0 +1,304 @@
+#
+# BEGIN COPYRIGHT BLOCK
+# Copyright 2001 Sun Microsystems, Inc.
+# Portions copyright 1999, 2001-2003 Netscape Communications Corporation.
+# All rights reserved.
+# END COPYRIGHT BLOCK
+#
+# Source for the admin forms and CGI programs
+
+LDAP_SRC = ../..
+MCOM_ROOT = ../../../..
+
+NOSTDCLEAN=true # don't let nsconfig.mk define target clean
+NOSTDSTRIP=true # don't let nsconfig.mk define target strip
+NSPR20=true # probably should be defined somewhere else (not sure where)
+
+BINDIR=$(LDAP_ADMIN_BIN_RELDIR)
+OBJDEST=$(LDAP_ADMOBJDIR)
+
+SCRIPTSDIR=$(LDAP_BASE_RELDIR)/admin/scripts
+
+include $(MCOM_ROOT)/ldapserver/nsconfig.mk
+include $(LDAP_SRC)/nsldap.mk
+ifndef LDAP_USE_OLD_DB
+include $(MCOM_ROOT)/ldapserver/ns_usedb.mk
+endif
+
+MCC_INCLUDE += $(ADMINUTIL_INCLUDE)
+
+INCLUDES += -I$(LDAP_SRC)/admin/include
+
+DS_SERVER_DEFS = -DNS_DS
+
+ifneq ($(ARCH), WINNT)
+EXTRALDFLAGS += $(SSLLIBFLAG)
+endif
+
+ifeq ($(BUILD_DLL), yes)
+DYNAMIC_DEPLIBS=$(LDAP_ADMLIB) $(LDAP_COMMON_LIBS_DEP) $(ADMINUTIL)
+DYNAMIC_DEPLINK=$(DYNAMIC_DEPLIBS)
+else
+DYNAMIC_DEPLIBS=$(LDAP_COMMON_LIBS_DEP)
+DYNAMIC_DEPLINK=$(LDAP_ADMLIB) $(LDAP_COMMON_LIBS)
+endif
+
+EXTRA_LIBS_DEP += $(NSPR_DEP) $(LDAPSDK_DEP) $(ADMINUTIL_DEP) $(ICU_DEP)
+
+# we don't want to build with warnings-as-errors for the admin/ stuff, because
+# it's got crappy C++ code which is LITTERED with warnings, most of which we
+# can't fix because it comes from files in dist/, etc.
+ifeq ($(ARCH), Linux)
+CFLAGS := $(subst -Werror,,$(CFLAGS))
+endif
+
+OLD_EXTRA_LIBS := $(EXTRA_LIBS)
+EXTRA_LIBS = $(DYNAMIC_DEPLINK) $(ADMINUTIL_LINK) $(LDAP_NOSSL_LINK) \
+ $(SECURITYLINK) $(NSPRLINK) $(SETUPSDK_S_LINK) $(ICULINK) $(OLD_EXTRA_LIBS)
+
+ifeq ($(ARCH), WINNT)
+PLATFORM_INCLUDE = -I$(MCOM_ROOT)/ldapserver/include/nt
+SUBSYSTEM=console
+EXTRA_LIBS+=comctl32.lib $(LDAP_LIBUTIL)
+EXTRA_LIBS_DEP+=$(LDAP_LIBUTIL_DEP)
+
+ifeq ($(DEBUG), optimize)
+#NT_NOLIBS = /NODEFAULTLIB:LIBCMT /NODEFAULTLIB:MSVCRT
+else
+NT_NOLIBS = /NODEFAULTLIB:LIBCMTD /NODEFAULTLIB:MSVCRTD
+endif
+
+else
+ifeq ($(ARCH), IRIX)
+EXCEPTIONS=-exceptions
+else
+ifeq ($(ARCH),SOLARIS)
+ifeq ($(USE_64), 1)
+EXTRALDFLAGS += -xarch=v9
+endif
+EXTRA_LIBS += -lsocket -lnsl -lgen -lm -lposix4 -lthread
+else
+ifeq ($(ARCH),SOLARISx86)
+EXTRA_LIBS += -lsocket -lnsl -lgen -lm -lposix4 -lthread
+else
+ifeq ($(ARCH),HPUX)
+ifdef FORTEZZA
+# link with libci.a for FORTEZZA builds. On other platforms, libci.a is
+# linked into libds_admin.so, but not on HPUX
+EXTRA_LIBS_DEP += $(FORTEZZA_DRIVER)
+EXTRA_LIBS += $(FORTEZZA_DRIVER)
+endif
+ifeq ($(USE_64), 1)
+EXTRALDFLAGS += +DA2.0W +DS2.0 +Z
+endif
+else
+ifeq ($(ARCH),OSF1)
+#CC += -E
+#CXX += -Wl,-ymain
+else
+ifeq ($(ARCH),ReliantUNIX)
+else
+ifeq ($(ARCH), AIX)
+EXTRA_LIBS += -lcurses
+else
+ifeq ($(ARCH), UnixWare)
+# rgc:
+EXTRA_LIBS += -lsocket -lnsl -lgen -lm
+else
+ifeq ($(ARCH), Linux)
+EXTRA_LIBS += -lcrypt
+else
+#this will help with porting other platforms
+EXTRA_LIBS+="you need to define EXTRA_LIBS for $(ARCH) in ldapserver/ldap/admin/src/Makefile"
+endif # Linux
+endif # UnixWare
+endif # AIX
+endif # ReliantUNIX
+endif # OSF1
+endif # HPUX
+endif # SOLARISx86
+endif # SOLARIS
+endif # IRIX
+endif # WINNT
+
+TEMP_EXTRALDFLAGS:=$(EXTRALDFLAGS)
+EXTRALDFLAGS = -lpthread $(TEMP_EXTRALDFLAGS)
+
+ifeq ($(SECURITY),domestic)
+SECUS_BINS=
+MODULE_CFLAGS += -DUS_VERSION -DEXPORT_VERSION
+endif
+
+ifeq ($(SECURITY),export)
+MODULE_CFLAGS += -DEXPORT_VERSION
+endif
+
+ifneq ($(SECURITY),none)
+SECURE_BINS=
+SECLIB=$(LIBSECURITY)
+endif
+
+ADMIN_DLLGLUEOBJ=$(MCOM_ROOT)/ldapserver/built/$(ARCH)-$(SECURITY)-$(DEBUG)-admin/admin-lib/dllglue.o
+
+ifeq ($(ARCH),AIX)
+DLLGLUEOBJ=
+GLUEOBJS=
+endif
+
+$(OBJDEST)/key.res: key.rc
+ $(RC) $(OFFLAG)$(OBJDEST)/key.res ey.rc
+
+OLD_PROGS = ds_pcontrol ds_impldif \
+ ds_backldif ds_backdb ds_restdb \
+ ds_monitor ds_conf ds_rmldif \
+ commit index ds_acccon ds_perf ds_dbconf ds_conf_check \
+ ds_net ds_ldap ds_pwconf ds_inconf ds_grplst ds_grpcrt \
+ ds_version ds_client ds_secpref ds_secact instindex \
+ ds_reploc ds_repinit ldif2replica ds_addldif ds_ldif2ldap clpstat \
+ ds_sscfg ds_attr_manage ds_oc_view ds_oc_create ds_schema_update \
+ ds_replov ds_pw ds_snmpconf
+
+PROGS = start restart shutdown ds_ldif2db \
+ ds_db2ldif ds_db2bak ds_listdb \
+ ds_bak2db ds_rmdb ds_create \
+ ds_remove ds_snmpctrl vlvindex addindex
+
+ifeq ($(ARCH), WINNT)
+SERVER_PROGS = namegen latest_file
+endif
+
+OBJECTS= init_ds_env.o
+
+ifeq ($(ARCH), WINNT)
+OBJECTS += namegen.o latest_file.o ds_remove_uninst.o
+endif
+
+ifeq ($(ARCH), WINNT)
+BINS = $(addprefix $(BINDIR)/, $(addsuffix .exe, $(PROGS))) $(addprefix $(LDAP_SERVER_RELDIR)/, $(addsuffix .exe, $(SERVER_PROGS)))
+else
+BINS = $(addprefix $(BINDIR)/, $(PROGS))
+endif
+ALLOBJS = $(addprefix $(OBJDEST)/, $(OBJECTS))
+
+PERL_SCRIPTS = migrateTo4 uname.lib Cgi.pm migrateInstance getConfigInfo migrateLocalDB migratePwdFile ds_viewlog.pl upgradeServer updatedsgw
+
+PERL_SCRIPTS_DEST = $(addprefix $(BINDIR)/, $(PERL_SCRIPTS))
+
+INST_INCLUDES = $(OBJDIR)/install_keywords.h
+
+TEMPLATE_SCRIPTS_SRC = $(wildcard scripts/template-*)
+TEMPLATE_SCRIPTS_DEST = $(subst scripts/,$(SCRIPTSDIR)/,$(TEMPLATE_SCRIPTS_SRC))
+
+# gmake 3.74 will remove "intermediate" files if generated via a pattern match rule
+# this is annoying for debugging since it tries to find the .o file
+# if you're debugging and you want to make sure your file does not get removed
+# by gmake, just uncomment the precious target and put your object files there
+# or FIX IT! if you can figure out how . . .
+#.PRECIOUS: $(OBJDEST)/ds_db2bak.o
+
+all: $(BINDIR) $(OBJDEST) $(INST_INCLUDES) $(ALLOBJS) $(BINS) \
+ installPerlFiles $(SCRIPTSDIR) $(TEMPLATE_SCRIPTS_DEST)
+
+$(SCRIPTSDIR):
+ $(MKDIR) $@
+
+.PHONY: installPerlFiles
+
+#NSSetupSDK:
+# $(MAKE) -f NSSetupSDK_Base.mk $(MFLAGS) all
+
+clean:
+ -@echo $(BINS)
+ -$(RM) $(BINS)
+ -$(RM) $(OBJDEST)/*.o
+
+strip:
+ $(STRIP) $(BINS)
+
+# if $(DLLGLUEOBJ) isn't available, use $(ADMIN_DLLGLUEOBJ) as a substitute:
+$(DLLGLUEOBJ): $(ADMIN_DLLGLUEOBJ)
+ cp $(ADMIN_DLLGLUEOBJ) $(DLLGLUEOBJ)
+
+# if $(SECGLUEOBJ) isn't available, use $(ADMIN_SECGLUEOBJ) as a substitute:
+$(SECGLUEOBJ): $(ADMIN_SECGLUEOBJ)
+ cp $(ADMIN_SECGLUEOBJ) $(SECGLUEOBJ)
+
+# Special objects
+
+$(BINDIR)/ds_create: $(OBJDEST)/instindex.o $(OBJDEST)/cfg_sspt.o \
+ $(OBJDEST)/create_instance.o $(OBJDEST)/configure_instance.o \
+ $(OBJDEST)/script-gen.o $(DEPLIBS)
+ $(LINK_EXE_NOLIBSOBJS) $(SHARED) $(EXTRALDFLAGS) \
+ $(OBJDEST)/instindex.o $(OBJDEST)/script-gen.o \
+ $(OBJDEST)/create_instance.o $(OBJDEST)/cfg_sspt.o \
+ $(OBJDEST)/configure_instance.o \
+ $(GLUEOBJ) $(EXTRA_LIBS)
+
+$(BINDIR)/ds_create.exe: $(OBJDEST)/instindex.o $(OBJDEST)/cfg_sspt.o \
+ $(OBJDEST)/create_instance.o $(OBJDEST)/configure_instance.o \
+ $(OBJDEST)/script-gen.o $(LIBNT_DEP) $(DEPLIBS)
+ $(LINK_EXE) $(NT_NOLIBS) $(OBJDEST)/instindex.o \
+ $(OBJDEST)/create_instance.o $(OBJDEST)/cfg_sspt.o \
+ $(OBJDEST)/configure_instance.o $(OBJDEST)/script-gen.o \
+ $(SETUPSDK_S_LINK) $(LDAP_SDK_LIBS) $(LIBNT) \
+ $(NSPRLINK) $(EXTRA_LIBS) $(DB_LIB)
+# linking this file causes a .exp and a .lib file to be generated which don't seem
+# to be required while running, so I get rid of them
+ $(RM) $(subst .exe,.exp,$@) $(subst .exe,.lib,$@)
+
+$(BINDIR)/ds_remove: $(OBJDEST)/ds_remove.o $(OBJDEST)/ds_remove_uninst.o $(DEPLIBS) $(EXTRA_LIBS_DEP)
+ $(LINK_EXE_NOLIBSOBJS) $(SHARED) $(EXTRALDFLAGS) \
+ $(OBJDEST)/ds_remove.o $(OBJDEST)/ds_remove_uninst.o $(OBJDEST)/init_ds_env.o \
+ $(SETUPSDK_S_LINK) $(GLUEOBJ) $(EXTRA_LIBS)
+
+$(BINDIR)/ds_remove.exe: $(OBJDEST)/ds_remove.o $(OBJDEST)/ds_remove_uninst.o $(DEPLIBS) $(EXTRA_LIBS_DEP)
+ $(LINK_EXE) $(OBJDEST)/ds_remove_uninst.o $(OBJDEST)/ds_remove.o $(OBJDEST)/init_ds_env.o $(LDAP_SDK_LIBS) $(NSPRLINK) $(SETUPSDK_S_LINK) $(NT_NOLIBS)
+# linking this file causes a .exp and a .lib file to be generated which don't seem
+# to be required while running, so I get rid of them
+ $(RM) $(subst .exe,.exp,$@) $(subst .exe,.lib,$@)
+
+$(OBJDEST)/%.o: %.c
+ $(CC) -c $(CFLAGS) $(MCC_INCLUDE) $< $(OFFLAG)$@
+
+$(OBJDEST)/%.o: %.cpp
+ifeq ($(ARCH), WINNT)
+ $(CC) -c $(CFLAGS) $(MCC_INCLUDE) $(SETUPSDK_INCLUDE) $< $(OFFLAG)$@
+else
+ $(CXX) $(EXCEPTIONS) -c $(CFLAGS) $(MCC_INCLUDE) $(SETUPSDK_INCLUDE) $< $(OFFLAG)$@
+endif
+
+ifneq ($(ARCH), WINNT)
+$(BINDIR)/%: $(OBJDEST)/%.o $(DEPLIBS) $(EXTRA_LIBS_DEP) $(GLUEOBJ)
+ $(LINK_EXE_NOLIBSOBJS) $< $(OBJDEST)/init_ds_env.o $(GLUEOBJ) $(EXTRA_LIBS)
+else
+$(BINDIR)/%.exe: $(OBJDEST)/%.o $(DEPLIBS) $(EXTRA_LIBS_DEP)
+ $(LINK_EXE) $(OBJDEST)/$*.o $(OBJDEST)/init_ds_env.o $(NSPRLINK)
+endif
+
+$(LDAP_SERVER_RELDIR)/namegen.exe: $(OBJDEST)/namegen.o
+ $(LINK_EXE_NOLIBSOBJS) $^
+
+$(LDAP_SERVER_RELDIR)/latest_file.exe: $(OBJDEST)/latest_file.o
+ $(LINK_EXE_NOLIBSOBJS) $^
+
+installPerlFiles: $(BINDIR) $(BINDIR)/Install.pl
+
+$(BINDIR)/Install.pl: CreateInstall.pl $(PERL_SCRIPTS_DEST)
+ -@$(RM) $@
+ $(CP) $< $@
+
+$(BINDIR)/%: %
+ -@$(RM) $@
+ $(CP) $< $@
+
+$(LDAP_SERVER_RELDIR)/%: % $(LDAP_SERVER_RELDIR)
+ -@$(RM) $@
+ $(CP) $< $@
+
+$(INST_INCLUDES): install_keywords.h
+ -@$(RM) $@
+ $(CP) $< $@
+
+$(SCRIPTSDIR)/template-%: scripts/template-% $(SCRIPTSDIR)
+ -@$(RM) $@
+ $(CP) $< $@