1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
|
# This Makefile requires GNU make (gmake).
SHELL=/bin/sh
# change this if you want to install it in a different place
ifndef $(TCM_INSTALL_DIR)
TCM_INSTALL_DIR=$TCM_HOME
endif
# the current version.
TCM_VERSION=2.20
# just a guess (flags should indicate recursiveness, permission
# keeping and links should stay links).
TCM_INSTALL_CMD = /bin/cp -fpr
ifndef TCM_INSTALL_LIB
TCM_INSTALL_LIB=$(TCM_INSTALL_DIR)/lib/
endif
ifndef CONFIG_INSTALL
CONFIG_INSTALL=$(TCM_INSTALL_LIB)
endif
ifndef TCM_INSTALL_DOC
TCM_INSTALL_DOC=$(TCM_INSTALL_DIR)/doc/
endif
ifndef TCM_INSTALL_SHARE
TCM_INSTALL_SHARE=$(TCM_INSTALL_LIB)
endif
ifndef TCM_INSTALL_MAN
TCM_INSTALL_MAN=$(TCM_INSTALL_DIR)/man/
endif
MFLAGS += TCM_INSTALL_DIR='$(TCM_INSTALL_DIR)' TCM_INSTALL_LIB='$(TCM_INSTALL_LIB)' CONFIG_INSTALL='$(CONFIG_INSTALL)' TCM_INSTALL_DOC='$(TCM_INSTALL_DOC)' TCM_COMPILER='$(TCM_COMPILER)' TCM_INSTALL_CMD='$(TCM_INSTALL_CMD)' TCM_HOME='$(TCM_COMPILE_DIR)' TCM_INSTALL_SHARE='$(TCM_INSTALL_SHARE)'
UNAME=$(shell uname -s | sed -e 's/_NT.*//g')
ifeq ($(UNAME),IRIX64)
UNAME = IRIX
endif
ifeq ($(UNAME),IRIX)
TCM_PLATFORM = irix
TCM_COMPILER = gcc
endif
ifeq ($(UNAME),Linux)
TCM_PLATFORM = linux
TCM_COMPILER = gcc
TCM_INSTALL_CMD = /bin/cp -af
endif
ifeq ($(UNAME),HP-UX)
TCM_PLATFORM = hpux
TCM_COMPILER = gcc
endif
ifeq ($(UNAME),AIX)
TCM_PLATFORM = aix
TCM_COMPILER = gcc
# TCM_COMPILER = xlc
endif
ifeq ($(UNAME),OSF1)
TCM_PLATFORM = osf1
TCM_COMPILER = gcc
endif
ifeq ($(UNAME),FreeBSD)
TCM_PLATFORM = freebsd
TCM_COMPILER = gcc
TCM_INSTALL_CMD = /bin/cp -Rp
endif
ifeq ($(UNAME),SunOS)
TCM_PLATFORM = solaris
TCM_COMPILER = suncc
TCM_INSTALL_CMD = /usr/bin/cp -fpr
# TCM_PLATFORM = solaris.gcc
# TCM_COMPILER = gcc
endif
ifeq ($(UNAME),CYGWIN)
TCM_PLATFORM = CYGWIN
TCM_COMPILER = gcc
TCM_INSTALL_CMD = /bin/cp -dRf
endif
TCM_COMPILE_DIR=$(shell pwd)
TCM_HOME=$(TCM_COMPILE_DIR)
SUBDIRS = bin lib src doc
config:
@echo making $@ for $(TCM_PLATFORM)...
(cd ./src; rm -f ./Config.tmpl)
(cd ./src; ln -s Config.tmpl_$(TCM_PLATFORM) Config.tmpl)
(cd ./src; rm -f ./Makefile)
(cd ./src; ln -s Makefile.$(TCM_COMPILER) Makefile)
(cd ./src; touch ./gl/instances.h)
(cd ./lib/help; ln -s ../../CHANGELOG .)
(cd ./lib/help; ln -s ../../COPYING .)
@echo done making $@ for $(TCM_PLATFORM)
@echo PLEASE CHECK FIRST THE SETTINGS IN src/Config.tmpl!
@echo after that you can do the following:
@echo make depend: for making file dependencies
@echo make execs: for making the binaries
@echo make install: for copying the binaries and the files\
that they need to $(TCM_INSTALL_DIR)
@echo \(this installation directory can be changed in $(TCM_HOME)/Makefile\)
@echo make all: to do all this in one run
@echo make clean: to remove all binaries, object and temporary files.
all: config depend execs install
execs:
(cd ./src; ${MAKE} $(MFLAGS) all)
docs:
(cd ./doc; ${MAKE} TCM_VERSION='$(TCM_VERSION)' all)
depend:
(cd ./src; ${MAKE} TCM_HOME='$(TCM_COMPILE_DIR)' depend)
undepend:
(cd ./src; ${MAKE} TCM_HOME='$(TCM_COMPILE_DIR)' undepend)
clean:
@echo making $@...
for dir in $(SUBDIRS); do \
(cd $${dir}; ${MAKE} TCM_HOME='$(TCM_COMPILE_DIR)' $@); done
@echo done making $@...
install:
@echo making $@...
if test ! -d $(TCM_INSTALL_DIR); then\
mkdir -p $(TCM_INSTALL_DIR);\
$(CHMOD) 755 $(TCM_INSTALL_DIR); fi
$(TCM_INSTALL_CMD) README CHANGELOG COPYING FILEMAP \
INSTALL_ README.cygwin INSTALL.cygwin man $(TCM_INSTALL_DIR)
if test ! -d $(TCM_INSTALL_MAN); then\
mkdir -p $(TCM_INSTALL_MAN);\
$(CHMOD) 755 $(TCM_INSTALL_MAN); fi
$(TCM_INSTALL_CMD) man/* $(TCM_INSTALL_MAN)
for dir in $(SUBDIRS); do \
(cd $${dir}; ${MAKE} $(MFLAGS) $@); done
@echo done making $@...
-include $(TCM_HOME)/src/Config.tmpl
|