#
# This make file is the main make file of the IRIT solid modeller and its
# auxilary tools.
#
#				Gershon Elber, June 1993
#

include makeflag.wnt

all:	xtra_lib_dir misc_lib_dir cagd_lib_dir symb_lib_dir trim_lib_dir \
	triv_lib_dir trng_lib_dir user_lib_dir prsr_lib_dir geom_lib_dir \
	bool_lib_dir $(DO_IRIT_LIB) grapdrvs_dir irit_dir poly3d-h_dir \
	irender_dir illustrt_dir filters_dir docs_dir \
	epilog

#
# Print info regarding setup of the environment.
#
epilog:
	type <<make_wnt.tmp
Before executing the test suite and/or any usage of this package
you will have to issue the following command:

Path = %Path%;$(BIN_DIR)
set IRIT_PATH=$(BIN_DIR)\
set IRIT_DISPLAY=wntdrvs -s-

and optionally the following commands:

set IRIT_BIN_PIC=1
set IRIT_SERVER_HOST=`name of this machine'
set IRIT_SERVER_PORT=5432

or similar.
<<KEEP
	del make_wnt.tmp

ALL_LIB_OBJS = 	xtra_lib/*.obj misc_lib/*.obj cagd_lib/*.obj symb_lib/*.obj \
		trng_lib/*.obj triv_lib/*.obj trim_lib/*.obj prsr_lib/*.obj \
		geom_lib/*.obj bool_lib/*.obj user_lib/*.obj

# The attribute function deleted below are redefined in prsr_lib/attribut.obj
iritlib.dll: iritlib.def
	cd misc_lib
	del miscatt2.obj
	del miscatt3.obj
	cd ..
	$(IRITDLL) /implib:iritlib.lib /def:iritlib.def /out:iritlib.dll \
		$(ALL_LIB_OBJS) wsock32.lib
	copy iritlib.dll $(BIN_DIR)
	copy iritlib.lib $(LIB_DIR)
	-del iritlib.dll
	-del iritlib.lib

iritlib.def:	$(ALL_LIB_OBJS)
	echo LIBRARY      IritLib > iritlib.def
	echo DESCRIPTION  'IRIT Solid Modeller' >> iritlib.def
	echo EXPORTS >> iritlib.def
	.\bin\nt_mkdef xtra_lib iritlib.def
	.\bin\nt_mkdef misc_lib iritlib.def
	.\bin\nt_mkdef cagd_lib iritlib.def
	.\bin\nt_mkdef symb_lib iritlib.def
	.\bin\nt_mkdef trng_lib iritlib.def
	.\bin\nt_mkdef triv_lib iritlib.def
	.\bin\nt_mkdef trim_lib iritlib.def
	.\bin\nt_mkdef prsr_lib iritlib.def
	.\bin\nt_mkdef geom_lib iritlib.def
	.\bin\nt_mkdef bool_lib iritlib.def
	.\bin\nt_mkdef user_lib iritlib.def


#
# Uncomment the following variable to only see the actions taken.
#
# VIEW_ONLY = -n

xtra_lib_dir:
	cd xtra_lib
	-$(MAKE) $(VIEW_ONLY) -f makefile.wnt install
	cd ..

misc_lib_dir:
	cd misc_lib
	-$(MAKE) $(VIEW_ONLY) -f makefile.wnt install
	cd ..

user_lib_dir:
	cd user_lib
	-$(MAKE) $(VIEW_ONLY) -f makefile.wnt install
	cd ..

prsr_lib_dir:
	cd prsr_lib
	-$(MAKE) $(VIEW_ONLY) -f makefile.wnt install
	cd ..

geom_lib_dir:
	cd geom_lib
	-$(MAKE) $(VIEW_ONLY) -f makefile.wnt install
	cd ..

cagd_lib_dir:
	cd cagd_lib
	-$(MAKE) $(VIEW_ONLY) -f makefile.wnt install
	cd ..

symb_lib_dir:
	cd symb_lib
	-$(MAKE) $(VIEW_ONLY) -f makefile.wnt install
	cd ..

trim_lib_dir:
	cd trim_lib
	-$(MAKE) $(VIEW_ONLY) -f makefile.wnt install
	cd ..

triv_lib_dir:
	cd triv_lib
	-$(MAKE) $(VIEW_ONLY) -f makefile.wnt install
	cd ..

trng_lib_dir:
	cd trng_lib
	-$(MAKE) $(VIEW_ONLY) -f makefile.wnt install
	cd ..

bool_lib_dir:
	cd bool_lib
	-$(MAKE) $(VIEW_ONLY) -f makefile.wnt install
	cd ..

grapdrvs_dir:
	cd grapdrvs
	-$(MAKE) $(VIEW_ONLY) -f makefile.wnt install
	cd ..

circlink_dir:
	cd circlink
	-$(MAKE) $(VIEW_ONLY) -f makefile.wnt install
	cd ..

irit_dir:
	cd irit
	-$(MAKE) $(VIEW_ONLY) -f makefile.wnt install
	cd ..\docs
	-$(MAKE) $(VIEW_ONLY) -f makefile.wnt install
	cd ..

poly3d-h_dir:
	cd poly3d-h
	-$(MAKE) $(VIEW_ONLY) -f makefile.wnt install
	cd ..

irender_dir:
	cd irender
	-$(MAKE) $(VIEW_ONLY) -f makefile.wnt install
	cd ..

illustrt_dir:
	cd illustrt
	-$(MAKE) $(VIEW_ONLY) -f makefile.wnt install
	cd ..

filters_dir:
	cd filters
	-$(MAKE) $(VIEW_ONLY) -f makefile.wnt install
	cd ..


clean:
	-rm poly3d-h\*.map poly3d-h\*.bak poly3d-h\*.old poly3d-h\*.hdn poly3d-h\*.sym
	-rm irender\*.map irender\*.bak irender\*.old irender\*.hdn irender\*.sym
	-rm illustrt\*.map illustrt\*.bak illustrt\*.old illustrt\*.sym
	-rm filters\*.map filters\*.bak filters\*.old filters\*.sym
	-rm cagd_lib\*.map cagd_lib\*.bak cagd_lib\*.sym
	-rm symb_lib\*.map symb_lib\*.bak symb_lib\*.sym
	-rm user_lib\*.map user_lib\*.bak user_lib\*.sym
	-rm prsr_lib\*.map prsr_lib\*.bak prsr_lib\*.sym
	-rm geom_lib\*.map geom_lib\*.bak geom_lib\*.sym
	-rm grap_lib\*.map grap_lib\*.bak grap_lib\*.sym
	-rm misc_lib\*.map misc_lib\*.bak misc_lib\*.sym
	-rm xtra_lib\*.map xtra_lib\*.bak xtra_lib\*.sym
	-rm bool_lib\*.map bool_lib\*.bak bool_lib\*.sym
	-rm irit\*.map irit\*.bak irit\*.old irit\*.sym irit\*.dat
	-rm docs\irithlp.exe

cleanobj:
	-rm poly3d-h\*.obj irender\*.obj illustrt\*.obj
	-rm irit\*.obj filters\*.obj cagd_lib\*.obj symb_lib\*.obj \
	-rm xtra_lib\*.obj misc_lib\*.obj grap_lib\*.obj \
	-rm user_lib\*.obj prsr_lib\*.obj \
	-rm geom_lib\*.obj bool_lib\*.obj docs\*.obj docs\irithlp.exe

#
# Make hardcopy documentation.
#
docs_dir:
	cd docs
	-$(MAKE) $(VIEW_ONLY) -f makefile.wnt irit.tex irit.doc
	cd ..

#
# Test some of the above programs. Make sure $(BIN_DIR) is in your path
#
test:
	cd irit
	-irit demo
	cd ..\poly3d-h
	-test-wnt
	cd ..\irender
	-test-wnt
	cd ..\illustrt
	-test-wnt
	cd ..\filters
	-test-wnt
	cd ..

#
# Generate dependencies for the source tree.
#
depend:
	cd irit
	-makedpnd -u -I ../include -m makefile.unx *.c
	-makedpnd -u -I ../include -m makefile.os2 *.c
	-makedpnd    -I ../include -m makefile.wnt *.c
	cd ..\poly3d-h
	-makedpnd -u -I ../include -m makefile.unx *.c
	-makedpnd -u -I ../include -m makefile.os2 *.c
	-makedpnd    -I ../include -m makefile.djg *.c
	-makedpnd    -I ../include -m makefile.wnt *.c
	cd ..\irender
	-makedpnd -u -I ../include -m makefile.unx *.c
	-makedpnd -u -I ../include -m makefile.os2 *.c
	-makedpnd    -I ../include -m makefile.djg *.c
	-makedpnd    -I ../include -m makefile.wnt *.c
	cd ..\illustrt
	-makedpnd -u -I ../include -m makefile.unx *.c
	-makedpnd -u -I ../include -m makefile.os2 *.c
	-makedpnd    -I ../include -m makefile.djg *.c
	-makedpnd    -I ../include -m makefile.wnt *.c
	cd ..\filters
	-makedpnd -u -I ../include -m makefile.unx *.c
	-makedpnd -u -I ../include -m makefile.os2 *.c
	-makedpnd    -I ../include -m makefile.djg *.c
	-makedpnd    -I ../include -m makefile.wnt *.c
	cd ..\cagd_lib
	-makedpnd -u -I ../include -m makefile.unx *.c
	-makedpnd -u -I ../include -m makefile.os2 *.c
	-makedpnd    -I ../include -m makefile.djg *.c
	-makedpnd    -I ../include -m makefile.wnt *.c
	cd ..\symb_lib
	-makedpnd -u -I ../include -m makefile.unx *.c
	-makedpnd -u -I ../include -m makefile.os2 *.c
	-makedpnd    -I ../include -m makefile.djg *.c
	-makedpnd    -I ../include -m makefile.wnt *.c
	cd ..\xtra_lib
	-makedpnd -u -I ../include -m makefile.unx *.c
	-makedpnd -u -I ../include -m makefile.os2 *.c
	-makedpnd    -I ../include -m makefile.djg *.c
	-makedpnd    -I ../include -m makefile.wnt *.c
	cd ..\misc_lib
	-makedpnd -u -I ../include -m makefile.unx *.c
	-makedpnd -u -I ../include -m makefile.os2 *.c
	-makedpnd    -I ../include -m makefile.djg *.c
	-makedpnd    -I ../include -m makefile.wnt *.c
	cd ..\geom_lib
	-makedpnd -u -I ../include -m makefile.unx *.c
	-makedpnd -u -I ../include -m makefile.os2 *.c
	-makedpnd    -I ../include -m makefile.djg *.c
	-makedpnd    -I ../include -m makefile.wnt *.c
	cd ..\user_lib
	-makedpnd -u -I ../include -m makefile.unx *.c
	-makedpnd -u -I ../include -m makefile.os2 *.c
	-makedpnd    -I ../include -m makefile.djg *.c
	-makedpnd    -I ../include -m makefile.wnt *.c
	cd ..\prsr_lib
	-makedpnd -u -I ../include -m makefile.unx *.c
	-makedpnd -u -I ../include -m makefile.os2 *.c
	-makedpnd    -I ../include -m makefile.djg *.c
	-makedpnd    -I ../include -m makefile.wnt *.c
	cd ..\geom_lib
	-makedpnd -u -I ../include -m makefile.unx *.c
	-makedpnd -u -I ../include -m makefile.os2 *.c
	-makedpnd    -I ../include -m makefile.djg *.c
	-makedpnd    -I ../include -m makefile.wnt *.c
	cd ..\bool_lib
	-makedpnd -u -I ../include -m makefile.unx *.c
	-makedpnd -u -I ../include -m makefile.os2 *.c
	-makedpnd    -I ../include -m makefile.djg *.c
	-makedpnd    -I ../include -m makefile.wnt *.c
	cd ..\grap_lib
	-makedpnd -u -I ../include -m makefile.unx *.c
	-makedpnd -u -I ../include -m makefile.os2 *.c
	-makedpnd    -I ../include -m makefile.djg *.c
	-makedpnd    -I ../include -m makefile.wnt *.c
	cd ..

