swig/SWIG/Makefile.in
2000-01-24 22:49:47 +00:00

156 lines
4.8 KiB
Makefile

#######################################################################
# $Header$
# Simplified Wrapper and Interface Generator (SWIG)
#
#######################################################################
prefix = @prefix@
exec_prefix= @exec_prefix@
srcdir = @ROOT_DIR@
SHELL = /bin/sh
CC = @CC@
CXX = @CXX@
LIBS =
SWIG_LIB = $(prefix)/lib/swig1.3
BIN_DIR = $(exec_prefix)/bin
LIB_DIR = $(prefix)/lib
GOAL := all
OBJS_FILE := $(srcdir)/objs.tmp
OBJS = `cat $(OBJS_FILE)`
MODULES := `ls Source/`
#####################################################################
# TARGET: swig
#####################################################################
swig: GOAL := all
swig: MODULES := SWIG1.1 Modules1.1 Swig Preprocessor
swig: _recurse DOH
$(CXX) $(OBJS) $(LIBS) -o swig
#####################################################################
# TARGET: experiment
#####################################################################
experiment: GOAL := experiment
experiment: MODULES := Swig Preprocessor LParse Experiment Swim
experiment: _recurse DOH SWILL
$(CC) $(OBJS) $(LIBS) -o experiment
#####################################################################
# TARGET: clean
#####################################################################
clean: GOAL := clean
clean: _recurse
rm -f swig experiment
#####################################################################
# TARGET: nuke
#####################################################################
nuke: GOAL := nuke
nuke: clean _recurse
rm -f Makefile Makefile.template config.*
#####################################################################
# TARGET: _recurse (UTILITY)
#####################################################################
# this target recurses through the directories in $(MODULES), executing
# $(MAKE) $(GOAL) in each one, with the variable OBJS_FILE set to
# the name of a file into which will be recorded the names of the
# relevant object files. See the "swig" target for an example.
_recurse:
@ORIG_DIR=`pwd`; \
echo "" > $(OBJS_FILE); \
for i in $(MODULES); \
do \
if [ -d Source/$$i -a -f Source/$$i/Makefile ]; then \
(cd Source/$$i && $(MAKE) $(GOAL) OBJS_FILE=$(OBJS_FILE)) || exit 1; \
cd $$ORIG_DIR ;\
fi \
done;
#####################################################################
# TARGET: DOH (an independent project)
#####################################################################
DOH:
cd Source/DOH; $(MAKE)
ls Source/DOH/Doh/*.o >> $(OBJS_FILE)
#####################################################################
# TARGET: SWILL (an independent project)
#####################################################################
SWILL:
cd Source/SWILL; $(MAKE)
ls Source/SWILL/SWILL/*.o >> $(OBJS_FILE)
#####################################################################
# TARGETS: install & friends
#####################################################################
INSTALL = ./install-sh -c
INSTALL_DATA = ${INSTALL} -m 644
INSTALL_PROGRAM= ${INSTALL} -m 755
install: install-main install-lib
@echo "Installation complete"
install-main:
@for i in $(LIB_DIR) $(BIN_DIR); \
do \
if [ ! -d $$i ] ; then \
mkdir $$i; \
echo "Making directory $$i"; \
chmod 755 $$i;\
else true; \
fi; \
done;
@echo "Installing $(BIN_DIR)/swig"
@$(INSTALL_PROGRAM) swig $(BIN_DIR)/swig
install-lib:
@for i in $(SWIG_LIB) ; \
do \
if [ ! -d $$i ] ; then \
mkdir $$i; \
echo "Making directory $$i"; \
chmod 755 $$i;\
else true; \
fi; \
done;
@echo "Installing the SWIG library"
# cd $(SWIG_LIB); rm -rf *
@for i in $(SWIG_LIB)/tcl $(SWIG_LIB)/perl5 $(SWIG_LIB)/python $(SWIG_LIB)/guile ; \
do \
if [ ! -d $$i ] ; then \
mkdir $$i; \
echo "Making directory $$i"; \
chmod 755 $$i;\
else true; \
fi; \
done;
@cd Lib; for i in *.i *.swg; \
do \
echo "Installing Lib/$$i"; \
../$(INSTALL_DATA) $$i $(SWIG_LIB)/$$i; \
done;
@cd Lib/tcl; for i in *.i *.swg; \
do \
echo "Installing Lib/tcl/$$i"; \
../../$(INSTALL_DATA) $$i $(SWIG_LIB)/tcl/$$i; \
done;
@cd Lib/perl5; for i in *.i *.swg Makefile.pl; \
do \
echo "Installing Lib/perl5/$$i"; \
../../$(INSTALL_DATA) $$i $(SWIG_LIB)/perl5/$$i; \
done;
@cd Lib/python; for i in *.i *.swg; \
do \
echo "Installing Lib/python/$$i"; \
../../$(INSTALL_DATA) $$i $(SWIG_LIB)/python/$$i; \
done;
@cd Lib/guile; for i in *.i *.swg; \
do \
echo "Installing Lib/guile/$$i"; \
../../$(INSTALL_DATA) $$i $(SWIG_LIB)/guile/$$i; \
done;