# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
# 
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
# 
# The Original Code is Freedom code.
# 
# The Initial Developer of the Original Code is Zero-Knowledge Systems,
# Inc.  Portions created by Zero-Knowledge are Copyright (C) 2000
# Zero-Knowledge Systems, Inc.  All Rights Reserved.
# 
# Contributor(s):

# 
# Default target
#

#TODO: Strip the extraneous UI crap outta here.

default:: install

# Get the variables definition
include $(ZK_ROOT)/freedom/client/makefiles/Makefile.vars

LIBREG = $(ZK_FREEDOM_ROOT)/client/zkbase/clientbase/linux/libreg
REGISTRY_CFLAGS = -DSTANDALONE_REGISTRY -DXP_UNIX -DNO_BUILDNUM \
		     -DNO_NSPR_10_SUPPORT -include $(LIBREG)/prtypes.h \
                                 -include $(LIBREG)/protypes.h

ZK_CXXPUBEXES = \
	zkreged \
	$(END_OF_LIST)

ZK_DEFS     += -DCLIENT_SHIM -DFREEDOM_CLIENT
ZK_LDFLAGS  += $(ZK_GTKLDFLAGS) 
ZK_LDFLAGS  := $(ZK_LDFLAGS) -Wl,--whole-archive -lfrcerrorhandling -Wl,--no-whole-archive

ZK_INCS     += \
        -idirafter $(ZK_FREEDOM_ROOT)/client/zkcentral/clienttypes/ \
        -idirafter $(ZK_FREEDOM_ROOT)/client/zkshim/trafficfilter/xp/ \
        -idirafter $(ZK_FREEDOM_ROOT)/client/zkbase/inethelp/xp/ \
        -idirafter $(ZK_FREEDOM_ROOT)/client/zkui/freedomclient/linux/ \
        -idirafter $(ZK_FREEDOM_ROOT)/client/zkbase/errorhandling/linux/ \
        -idirafter $(ZK_FREEDOM_ROOT)/client/zkbase/general/xp/ \
        -idirafter $(ZK_FREEDOM_ROOT)/client/zkbase/libzktest/ \
        -idirafter $(ZK_FREEDOM_ROOT)/client/zkbase/clientbase/linux/libreg/ \
        -idirafter $(ZK_FREEDOM_ROOT)/client/zkbase/clientbase/linux/ \
        -idirafter $(ZK_FREEDOM_ROOT)/client/zkbase/clientbase/xp/ \
        -idirafter $(ZK_FREEDOM_ROOT)/client/ \
        -idirafter $(ZK_FREEDOM_ROOT)/include/ \
        -idirafter $(ZK_FREEDOM_ROOT)/client/inc/ \
        -idirafter $(ZK_FREEDOM_ROOT)/client/zkui/zkcommonui/linux \
        -idirafter $(ZK_FREEDOM_ROOT)/client/zkui/zkdialogs/linux \
        -idirafter $(ZK_FREEDOM_ROOT)/client/zkui/zkwizards/linux \
	-idirafter $(ZK_FREEDOM_ROOT)/client/zkbase/errorhandling/xp/ \
	-idirafter $(ZK_FREEDOM_ROOT)/client/zkcentral/zkservice/ \
	-idirafter $(ZK_FREEDOM_ROOT)/client/zkshim/trafficfilter/linux/ \
	-idirafter $(ZK_FREEDOM_ROOT)/client/zkshim/linux/clientshim/include/ \
	-idirafter $(ZK_FREEDOM_ROOT)/client/zkproxies/dinetd/ \
        -idirafter $(ZK_FREEDOM_ROOT)/ndb/include/ \
        -idirafter $(ZK_ROOT) \
        -idirafter $(ZK_ROOT)/include/ \
        -idirafter $(ZK_ROOT)/libzkmime/include/ \
        -idirafter $(ZK_ROOT)/libzkthread/include/ \
        -idirafter $(ZK_ROOT)/libzkpacket/include/ \
        -idirafter $(ZK_ROOT)/lib3rd/openssl/include \
        -idirafter $(ZK_ROOT)/libzk/include/ \
        -idirafter $(ZK_ROOT)/libzk/src/ \
        -idirafter $(ZK_ROOT)/libzkip/include/ \
	$(ZK_GTKINCS) \
	$(END_OF_LIST)


ZK_CXXFLAGS := $(subst -Wshadow, ,$(ZK_CXXFLAGS)) $(ZK_GTKDEFS) $(REGISTRY_CFLAGS)

ZK_EXE_SRCFILES := \
	zkreged.cpp \
	$(END_OF_LIST)

ZK_ALL_SRCFILES := \
	$(ZK_EXE_SRCFILES) \
	$(END_OF_LIST)

PKG_EXES := $(ZK_CXXPUBEXES) 

# Get the target rules
include $(ZK_ROOT)/makefiles/Makefile.targs

# Add new targets or complement default target using :: rules

package:: $(ZK_BUILDDIR_PUBBIN)/zkreged $(ZK_BUILDDIR_PUBBIN)/zknetuse
	@$(ZK_SCRIPTDIR)/promoteFiles.pl $(ZK_BUILDDIR_PUBBIN) $(ZK_PKG_CLIENT_ROOT)/usr/share/freedom $(PKG_EXES) zknetuse

$(ZK_BUILDDIR_PUBBIN)/zknetuse:
	cp zknetuse $(ZK_BUILDDIR_PUBBIN)/
	chmod a+x $(ZK_BUILDDIR_PUBBIN)/zknetuse

install: $(ZK_FULLCXXEXES) $(ZK_BUILDDIR_PUBBIN)/zknetuse

$(ZK_FULLCXXEXES): $(ZK_BUILDDIR_PUBBIN)/%: $(ZK_BUILDDIR_PROJ)$(/)zkreged.o zknetuse \
	 -lfrcinethelp \
	 -lclientbaseLinux \
	 -lclientbase \
	 -lmozreg     \
         -lZkTest \
	 -lfrcerrorhandling \
	 -ldb \
	 -lframtp \
	 -lfrdbo \
	 -lfrent \
	 -lfrnym \
	 -lfrkeyqry \
	 -lfrlocalaip \
	 -lfraips \
	 -lfrmaip \
	 -lfrmailauth \
	 -lfrnetinfo \
	 -lfrnidb \
	 -lfrniqs \
	 -lfrpktfmt \
	 -lfrsec \
	 -lfrtoken \
	 -lgnugetopts \
	 -lnewt \
	 -lpcap \
	 -lpopt \
	 -lslang \
	 -lzkmime \
	 -lzkpacket \
	 -lzkip \
	 -lfrmailmsg \
	 -lfrcrypt -lzkrand \
         -lzkrand \
	 -lzkthread \
	 -lzk \
	 -lyarrow \
	 -lcrypto \
	 -lpthread 
