OpenSceneGraph/Make/instrules
Don BURNS a57eae47f6 Modified instrules so that the functionality of instlinks is that
system links are not made to point to links, rather the real files.  So
links installed on a system are pointing to platform specific files rather
than links that may be pointing to files of the wrong platform type.
2002-05-21 00:58:40 +00:00

188 lines
4.7 KiB
Plaintext

install :
@rm -f $(INSTLOGFILE)
@$(MAKE) __instbin __instdev
@more $(INSTLOGFILE)
instbin instdev :
@$(MAKE) __$@
__instbin:
@$(MAKE) INSTSRC=$(TOPDIR)/bin INSTDEST=$(INST_DEMOS) \
INSTALL?="$(INSTBINCMD)" __install
@$(MAKE) INSTSRC=$(TOPDIR)/lib INSTDEST=$(INST_LIBS) \
INSTALL?="$(INSTBINCMD)" __install
@$(MAKE) INSTSRC=$(TOPDIR)/lib/osgPlugins INSTDEST=$(INST_PLUGINS)\
INSTALL?="$(INSTBINCMD)" __install
@echo >> $(INSTLOGFILE)
@echo " Run-time environment installation successful. Add "\
>> $(INSTLOGFILE)
@echo " $(INST_DEMOS)"\
>> $(INSTLOGFILE)
@echo " to your PATH environmental variable, and"\
>> $(INSTLOGFILE)
@echo " $(INST_LIBS) and $(INST_PLUGINS)"\
>> $(INSTLOGFILE)
@echo " to your LD_LIBRARY_PATH if not already present."\
>> $(INSTLOGFILE)
@echo >> $(INSTLOGFILE)
__instdev:
@for d in `ls -1 $(TOPDIR)/include/ | grep -v CVS`; \
do\
if [ -d $(TOPDIR)/include/$$d ]; \
then \
$(MAKE) INSTSRC=$(TOPDIR)/include/$$d INSTDEST=$(INST_INCLUDE)/$$d\
INSTALL?="$(INSTDEVCMD)" __install;\
fi\
done
@$(TOPDIR)/Make/instdemosrc \
$(TOPDIR)\
$(INST_LIBS)\
$(INST_INCLUDE)\
$(INST_SRC)\
$(INST_DEMO_SRC)\
"$(INSTDEVCMD)"\
"$(C++)"\
"$(OPTF)"\
"$(DEPARG)"\
"$(LINKARGS)"\
"$(OSG_LIBS)"\
"$(FREETYPE_LIB)"\
"$(GLUT_LIB)"\
"$(GL_LIBS)"\
"$(X_LIBS)"\
"$(SOCKET_LIBS)"\
"$(OTHER_LIBS)"\
"$(TIFF_LIB)"\
@echo\
>> $(INSTLOGFILE)
@echo " Development environment installation successful. Add"\
>> $(INSTLOGFILE)
@echo " -I$(INST_INCLUDE)"\
>> $(INSTLOGFILE)
@echo " compile flag when compiling with OSG header files."\
>> $(INSTLOGFILE)
@echo " Example programs can be found at $(INST_DEMO_SRC)."\
>> $(INSTLOGFILE)
@echo >> $(INSTLOGFILE)
instlinks :
@rm -f $(INSTLOGFILE)
$(MAKE) INSTBINCMD="$(INSTLINKBINCMD)" __instbin
$(MAKE) INSTDEVCMD="$(INSTLINKDEVCMD)" __instdev
@more $(INSTLOGFILE)
instlinksbin :
@rm -f $(INSTLOGFILE)
$(MAKE) INSTBINCMD="$(INSTLINKBINCMD)" __instbin
@more $(INSTLOGFILE)
instlinksdev :
@rm -f $(INSTLOGFILE)
@$(MAKE) INSTDEVCMD="$(INSTLINKDEVCMD)" __instdev
@more $(INSTLOGFILE)
instclean : instcleanbin instcleandev
instcleanbin :
@$(MAKE) INSTSRC=$(TOPDIR)/bin INSTDEST=$(INST_DEMOS) \
INSTALL?="$(INSTBINCMD)" __instclean
@$(MAKE) INSTSRC=$(TOPDIR)/lib INSTDEST=$(INST_LIBS) \
INSTALL?="$(INSTBINCMD)" __instclean
@$(MAKE) INSTSRC=$(TOPDIR)/lib/osgPlugins INSTDEST=$(INST_PLUGINS)\
INSTALL?="$(INSTBINCMD)" __instclean
instcleandev :
@for d in `ls -1 $(TOPDIR)/include/ | grep -v CVS`; \
do\
if [ -d $(TOPDIR)/include/$$d ]; \
then \
$(MAKE) INSTSRC=$(TOPDIR)/include/$$d INSTDEST=$(INST_INCLUDE)/$$d\
INSTALL?="$(INSTDEVCMD)" __instclean;\
fi\
done
@for d in `ls -1 $(TOPDIR)/src/Demos | grep -v CVS`; \
do\
if [ -d $(TOPDIR)/src/Demos/$$d ]; \
then \
$(MAKE) INSTSRC=$(TOPDIR)/src/Demos/$$d INSTDEST=$(INST_DEMO_SRC)/$$d\
INSTALL?="$(INSTDEVCMD)" __instclean;\
fi\
done
__install :
@[ -n "$(INSTSRC)" ] || echo "Internal error (INSTSRC definition)"
@[ -n "$(INSTSRC)" ] && echo > /dev/null
@[ -n "$(INSTDEST)" ] || echo "Internal error (INSTDEST definition)"
@[ -n "$(INSTDEST)" ] && echo > /dev/null
@[ -d $(INSTDEST) ] || mkdir -p $(INSTDEST)
@cd $(INSTSRC);\
THISDIR=`pwd`;\
if [ -n "`ls -1 | grep -v CVS`" ]; then\
for f in `ls -1 | grep -v CVS`; \
do\
if [ -f $$f ] ; \
then \
INSTPATH=$$THISDIR/$$f; \
while [ -L $$INSTPATH ]; \
do \
ll=`ls -l $$INSTPATH | cut -f2 -d">"`;\
echo cd `dirname $$ll`;\
cd `dirname $$ll`;\
INSTPATH="`pwd`"/"`basename $$ll`";\
cd $$THISDIR;\
done;\
echo $(INSTALL) $$INSTPATH $(INSTDEST)/$$f;\
$(INSTALL) $$INSTPATH $(INSTDEST)/$$f;\
fi\
done\
fi
__instclean :
@[ -n "$(INSTSRC)" ] || echo "Internal error (INSTSRC definition)"
@[ -n "$(INSTSRC)" ] && echo > /dev/null
@[ -n "$(INSTDEST)" ] || echo "Internal error (INSTDEST definition)"
@[ -n "$(INSTDEST)" ] && echo > /dev/null
@if [ -d $(INSTDEST) ] ; \
then\
cd $(INSTSRC);\
if [ -n "`ls -1 | grep -v CVS`" ]; then\
for f in `ls -1 | grep -v CVS`; \
do\
if [ -f $$f ] ; \
then \
echo "rm -f $(INSTDEST)/$$f";\
rm -f $(INSTDEST)/$$f;\
fi\
done\
fi;\
empty=`ls $(INSTDEST)`;\
if [ -z "$$empty" ];\
then\
repeat=1;\
while [ $$repeat = 1 ] ; \
do \
printf "$(INSTDEST) is empty. Remove? (y/n) [y]: ";\
read resp;\
case $$resp in \
""|Yes|YES|yes|Y|y) rm -rf $(INSTDEST); repeat=0;; \
n|N|no|NO) repeat=0;; \
*) repeat=1;; \
esac\
done\
fi\
fi