# Program: IMAP Toolkit Makefile
#
# Author: Mark Crispin
# Networks and Distributed Computing
# Computing & Communications
# University of Washington
# Administration Building, AG-44
# Seattle, WA 98195
# Internet: MRC@CAC.Washington.EDU
#
# Date: 7 December 1989
# Last Edited: 6 December 1995
#
# Copyright 1995 by the University of Washington
#
# Permission to use, copy, modify, and distribute this software and its
# documentation for any purpose and without fee is hereby granted, provided
# that the above copyright notice appears in all copies and that both the
# above copyright notice and this permission notice appear in supporting
# documentation, and that the name of the University of Washington not be
# used in advertising or publicity pertaining to distribution of the software
# without specific, written prior permission. This software is made
# available "as is", and
# THE UNIVERSITY OF WASHINGTON DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED,
# WITH REGARD TO THIS SOFTWARE, INCLUDING WITHOUT LIMITATION ALL IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND IN
# NO EVENT SHALL THE UNIVERSITY OF WASHINGTON BE LIABLE FOR ANY SPECIAL,
# INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, TORT
# (INCLUDING NEGLIGENCE) OR STRICT LIABILITY, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
CC=cc
CD=cd
LN=ln -s
MAKE=make
MKDIR=mkdir
RM=rm -rf
SYSTEM=unix
TOOLS=tools
# Make the IMAP Toolkit
all: OSTYPE rebuild
# The following ports are defined. These refer to the *standard* compiler
# on the given system. This means, for example, that the sol port is for SUN's
# compiler and not for a non-standard compiler such as gcc.
# If you are using gcc and it is not the standard compiler on your system, try
# using an ANSI port that is close to what you have. For example, if your
# system is SVR4ish, try a32 or lnx; if it's more BSDish, try nxt, mct, or bsi.
#
# a32 AIX 3.2 for RS/6000
# a41 AIX 4.1 for RS/6000
# aix AIX/370
# ami AmigaDOS
# am2 AmigaDOS with a 68020+
# ama AmigaDOS using AS225R2
# amn AmigaDOS with a 680x0 using "new" socket library
# art AIX 2.2.1 for RT
# asv Altos SVR4
# aux A/UX
# bsd generic BSD
# bsi BSD/i386
# cvx Convex
# d-g Data General DG-UX
# drs ICL DRS/NX
# dyn Dynix
# gso GCC Solaris
# gul GCC RISC Ultrix (DEC-5000)
# hpp HP-UX
# isc Interactive Systems
# lnx Linux
# mct MachTen
# mnt Mint (incomplete port)
# neb NetBSD
# nxt NEXTSTEP
# osf OSF/1
# ptx PTX
# pyr Pyramid
# s40 SUN-OS 4.0
# sco Santa Cruz Operation
# sgi Silicon Graphics IRIX
# slx Linux with shadow password security
# sol Solaris
# sos OSF/1 with SecureWare
# ssn SUN-OS with shadow password security
# sun SUN-OS 4.1 or better
# sv2 SVR2 on AT&T PC-7300 (incomplete port)
# sv4 generic SVR4
# ult RISC Ultrix (DEC-5000)
# vul VAX Ultrix
# vu2 VAX Ultrix 2.3 (e.g. for VAXstation-2000 or similar old version)
OSTYPE:
@echo 'Not processed yet. In a first-time build, you must specify'
@echo 'the system type so that the sources are properly processed.'
@false
a32 a41 aix bsi d-g drs lnx mct mnt neb nxt osf sgi slx sos:
$(MAKE) build OS=$@ PROCESS=an
# Yes, really! The SVR4 C compiler on Solaris is called ucbcc!!
sol:
$(MAKE) build OS=$@ PROCESS=an CC=ucbcc
gso gul:
$(MAKE) build OS=$@ PROCESS=an CC=gcc
sco:
$(MAKE) build OS=$@ PROCESS=an LN=cp
art asv bsd cvx dyn hpp isc ptx pyr s40 ssn sun sv4 ult vul vu2:
$(MAKE) build OS=$@ PROCESS=ua
sv2:
$(MAKE) build OS=$@ PROCESS=ua LN=cp
ami am2 ama amn:
$(MAKE) build OS=$@ PROCESS=an CC=gcc LN=cp SYSTEM=amiga
build: clean process rebuild
process:
@echo Processing sources for $(OS)...
$(TOOLS)/$(PROCESS) "$(LN)" src/c-client c-client
$(TOOLS)/$(PROCESS) "$(LN)" src/ansilib c-client
$(TOOLS)/$(PROCESS) "$(LN)" src/osdep/$(SYSTEM) c-client
$(TOOLS)/$(PROCESS) "$(LN)" src/ipopd ipopd
$(TOOLS)/$(PROCESS) "$(LN)" src/imapd imapd
echo $(OS) > OSTYPE
echo $(CC) > CCTYPE
rebuild:
@echo Building processed sources for `cat OSTYPE`...
$(CD) c-client;$(MAKE) `cat ../OSTYPE` CC=`cat ../CCTYPE`
$(CD) ipopd;$(MAKE) CC=`cat ../CCTYPE`
$(CD) imapd;$(MAKE) CC=`cat ../CCTYPE`
clean:
@echo 'Removing old processed sources and binaries...'
$(RM) OSTYPE CCTYPE c-client imapd ipopd
$(CD) tools;$(MAKE) clean
# A monument to a hack of long ago and far away...
love:
@echo 'not war?'
syntax highlighted by Code2HTML, v. 0.9.1