# Copyright 2000, International Business Machines Corporation and others.
# All Rights Reserved.
# 
# This software has been released under the terms of the IBM Public
# License.  For details, see the LICENSE file in the top-level source
# directory or online at http://www.openafs.org/dl/license10.html

RELDIR=bozo
!INCLUDE ..\config\NTMakefile.$(SYS_NAME)
!INCLUDE ..\config\NTMakefile.version

############################################################################
# Header files to install

INCFILES =\
	$(DESTDIR)\include\afs\bosint.h \
	$(DESTDIR)\include\afs\bnode.h

############################################################################
# Build afsbos.lib

BOS_LIBFILE = $(DESTDIR)\lib\afs\afsbos.lib

BOS_LIBOBJS =\
	$(OUT)\bosint.cs.obj \
	$(OUT)\bosint.xdr.obj \
	$(OUT)\boserr.obj \
	$(OUT)\AFS_component_version_number.obj

$(BOS_LIBFILE): $(BOS_LIBOBJS)
	$(LIBARCH)


############################################################################
# Build bosserver.exe

BOSSERVER_EXEFILE = $(DESTDIR)\root.server\usr\afs\bin\bosserver.exe

BOSSERVER_EXEOBJS =\
	$(OUT)\bosserver.obj \
	$(OUT)\bnode.obj \
	$(OUT)\cronbnodeops.obj \
	$(OUT)\ezbnodeops.obj \
	$(OUT)\fsbnodeops.obj \
	$(OUT)\bosint.ss.obj \
	$(OUT)\bosoprocs.obj \
	$(OUT)\bosserver.res


BOSSERVER_EXELIBS =\
	$(DESTDIR)\lib\afsrx.lib \
	$(DESTDIR)\lib\afslwp.lib \
	$(DESTDIR)\lib\afs\afscmd.lib \
	$(DESTDIR)\lib\afs\afskauth.lib \
	$(DESTDIR)\lib\afs\afsvolser.lib \
	$(DESTDIR)\lib\afs\afsvldb.lib \
	$(DESTDIR)\lib\afs\afsauth.lib \
	$(DESTDIR)\lib\afsrxkad.lib \
	$(DESTDIR)\lib\afsrxstat.lib \
	$(DESTDIR)\lib\afsrx.lib \
	$(DESTDIR)\lib\afsubik.lib \
	$(DESTDIR)\lib\afs\afscom_err.lib \
	$(DESTDIR)\lib\afs\afsutil.lib \
	$(DESTDIR)\lib\afs\afsbos.lib \
	$(DESTDIR)\lib\afs\afsaudit.lib \
	$(DESTDIR)\lib\afs\afsreg.lib \
	$(DESTDIR)\lib\afs\afseventlog.lib \
	$(DESTDIR)\lib\afs\afsprocmgmt.lib \
	$(DESTDIR)\lib\libafsconf.lib \
        $(DESTDIR)\lib\afs\afspioctl.lib \
	$(DESTDIR)\lib\opr.lib \
	$(DESTDIR)\lib\afshcrypto.lib \
	$(DESTDIR)\lib\afsroken.lib \
	$(DESTDIR)\lib\afsrfc3961.lib

$(BOSSERVER_EXEFILE): $(BOSSERVER_EXEOBJS) $(BOSSERVER_EXELIBS)
	$(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
        $(_VC_MANIFEST_EMBED_EXE)
	$(EXEPREP)
        $(CODESIGN_USERLAND)
        $(SYMSTORE_IMPORT)

############################################################################
# Build bos.exe

RS_BOS_EXEFILE = $(DESTDIR)\root.server\usr\afs\bin\bos.exe
CL_BOS_EXEFILE = $(DESTDIR)\bin\bos.exe

BOS_EXEOBJS =\
	$(OUT)\bos.obj \
	$(OUT)\bos.res

BOS_EXELIBS =\
	$(DESTDIR)\lib\afsrx.lib \
	$(DESTDIR)\lib\afslwp.lib \
	$(DESTDIR)\lib\afs\afscmd.lib \
	$(DESTDIR)\lib\afs\afskauth.lib \
	$(DESTDIR)\lib\afs\afsvolser.lib \
	$(DESTDIR)\lib\afs\afsvldb.lib \
	$(DESTDIR)\lib\afs\afsauth.lib \
	$(DESTDIR)\lib\afsrxkad.lib \
	$(DESTDIR)\lib\afsrx.lib \
	$(DESTDIR)\lib\afsubik.lib \
	$(DESTDIR)\lib\afs\afscom_err.lib \
	$(DESTDIR)\lib\afs\afsutil.lib \
	$(DESTDIR)\lib\afs\afsbos.lib \
	$(DESTDIR)\lib\afs\afsreg.lib \
	$(DESTDIR)\lib\afs\afsprocmgmt.lib \
	$(DESTDIR)\lib\afs\afspioctl.lib \
	$(DESTDIR)\lib\libafsconf.lib \
	$(DESTDIR)\lib\opr.lib \
	$(DESTDIR)\lib\afshcrypto.lib \
	$(DESTDIR)\lib\afsroken.lib \
	$(DESTDIR)\lib\afsrfc3961.lib

$(RS_BOS_EXEFILE): $(BOS_EXEOBJS) $(BOS_EXELIBS)
	$(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
        $(_VC_MANIFEST_EMBED_EXE)
	$(EXEPREP)
        $(CODESIGN_USERLAND)
        $(SYMSTORE_IMPORT)

$(CL_BOS_EXEFILE): $(RS_BOS_EXEFILE)
	$(COPY) $** $@


############################################################################
# Definitions for generating files via RXGEN

bosint.cs.c: bosint.xg bosint.h
	$(RXGEN) -x -C -o $@ bosint.xg

bosint.ss.c: bosint.xg bosint.h
	$(RXGEN) -x -S -o $@ bosint.xg

bosint.xdr.c: bosint.xg bosint.h
	$(RXGEN) -x -c -o $@ bosint.xg

bosint.h: bosint.xg
	$(RXGEN) -x -h -o $@ bosint.xg

############################################################################
# Definitions for generating files via COMPILE_ET

bnode.h boserr.c: boserr.et bnode.p.h
	$(DEL) boserr.c bnode.h
	$(COMPILE_ET) boserr -h bnode

############################################################################
# Definitions for generating versioninfo resources

$(OUT)\bosserver.res: AFS_component_version_number.h

$(OUT)\bos.res: AFS_component_version_number.h

############################################################################
# Install target; primary makefile target

install: $(BOS_LIBFILE) $(BOSSERVER_EXEFILE) $(CL_BOS_EXEFILE) $(INCFILES)


############################################################################
# Local clean target; augments predefined clean target

clean::
	$(DEL) bnode.h boserr.c bosint.cs.c bosint.h bosint.ss.c bosint.xdr.c

mkdir:
