#
#  Makefile for apcupsd
#
#  Copyright (C) 1996-99 Andre M. Hedrick
#                        <hedrick@astro.dyer.vanderbilt.edu>
#  All rights reserved.
#
#

# New multi-threading code BETA and REQUIRES glibc or libc6
#
# THREADS   = 1

# New multi-threading code with http BETA functional needs THREADS
#
# HTTP      = 1

ifdef THREADS
# New/Old powerflute tool
#
# Note that powerflute is working on the threaded version of apcupsd (need IPC
# support).
#
# MUSIC     = 1
endif

#
MAJOR     = 3
MINOR     = 5
TINY      = 8
VERSION   = $(MAJOR).$(MINOR).$(TINY)
#

PREFIX    =
MANPREFIX = /usr
README    = readmes/README.cable
README   += readmes/README.BackUPS-Pro
README   += readmes/README.SmartUPS-VS
README   += readmes/README.NewerBackUPS-Pro
README   += readmes/README.Share-UPS
README   += readmes/README.apcaccess
READNEW   = README.NEW

SRC       = apcupsd.c apcnet.c apcpipe.c apcconfig.c apcsetup.c
SRC      += apcreports.c apcsmart.c apclock.c apcipc.c apcaction.c
SRC      += apcserial.c apcsignal.c apcexec.c apchttp.c
SRC      += apcaccess.c
SRC      += powerflute.c

DOBJ      = apcupsd.o apcnet.o apcpipe.o apcconfig.o apcsetup.o
DOBJ     += apcreports.o apcsmart.o apclock.o apcipc.o apcaction.o
DOBJ     += apcserial.o apcsignal.o apcexec.o apchttp.o

TOBJ      = apcaccess.o apcconfig.o apcipc.o

OBJ       = $(DOBJ) $(TOBJ)

ifdef MUSIC
POBJ      = powerflute.o apcipc.o
OBJ      += $(POBJ)
endif

DIST      = Changelog port.gif INSTALL UNINSTALL COPYING Statement.APCC
OTHER     = Makefile gpl.license

APCUPSD   = apcupsd
APCACCESS = apcaccess
POWERFLUTE= powerflute

INCLUDES  = -I./include

# Flags for compiler
CFLAGS    = -g -O2 -Wall $(INCLUDES) $(CMDC)

# Flags for linker
LFLAGS    = $(CMDL)
OPTIONS   = $(CMDC) $(INCLUDES)

ifdef THREADS
CFLAGS   += -DNEW_THREADS
ifdef HTTP
CFLAGS   += -DNEW_HTTP
endif
endif

SHELL     = /bin/sh
ECHO      = echo
MAKE      = make
CHOWN     = chown
CHMOD     = chmod
CP        = cp
MV        = mv
CAT       = cat
MKDIR     = mkdir
RM        = rm
FIND      = find
TAR       = tar
UNAME     = uname

APC_UPSD_VERSION = $(APCUPSD)-$(VERSION).src

CPP=$(CC) -E
AS=as
LD=$(CC)

.S.s:
	$(CPP) -traditional $< -o $*.s
.c.s:
	$(CC) $(CFLAGS) -S $<
.s.o:
	$(AS) -c -o $*.o $<
.c.o:
	$(CC) $(CFLAGS) -c $<
.o:
	$(LD) -s -o $*.o

#****************************************************************************
#*                                                                          *
#*    If no args are given, print a usage message and exit                  *
#*                                                                          *
#****************************************************************************

default :
	@$(ECHO)
	@$(ECHO) "Usage: make <system-type>"
	@$(ECHO)
	@$(ECHO) "To create the 'apcupsd', you have to enter the Unix"
	@$(ECHO) "system type you want to build for arch-dependences."
	@$(ECHO)
	@$(ECHO) "Possible options are: aix, aix370, aix386, bsd386,"
	@$(ECHO) "convex, freebsd, irix, hpux, hpux-gcc, isc, linux,"
	@$(ECHO) "mint, mipsbsd, next, osf1, qnx, sco, sun, svr4,"
	@$(ECHO) "ultrix, and uts4.  If none of the above fit, try"
	@$(ECHO) "'make generic', and send a copy of any changes"
	@$(ECHO) "necessary to the author, "

include/apc_version.h : Makefile
	@$(ECHO) "/*" > .ver
	@$(ECHO) " *  version.h -- header file for apcupsd package" >> .ver
	@$(ECHO) " *" >> .ver
	@$(ECHO) " *  apcupsd.c -- Simple Daemon to catch power failure signals from a" >> .ver
	@$(ECHO) " *               BackUPS, BackUPS Pro, or SmartUPS (from APCC)." >> .ver
	@$(ECHO) " *            -- Now SmartMode support for SmartUPS and BackUPS Pro." >> .ver
	@$(ECHO) " *" >> .ver
	@$(ECHO) " *  Copyright (C) 1996-99 Andre M. Hedrick" >> .ver
	@$(ECHO) " *                        <hedrick@astro.dyer.vanderbilt.edu>" >> .ver
	@$(ECHO) " *  All rights reserved." >> .ver
	@$(ECHO) " *" >> .ver
	@$(ECHO) " */" >> .ver
	@$(ECHO) >> .ver
	@$(ECHO) "/*" >> .ver
	@$(ECHO) " *                     GNU GENERAL PUBLIC LICENSE" >> .ver
	@$(ECHO) " *                        Version 2, June 1991" >> .ver
	@$(ECHO) " *" >> .ver
	@$(ECHO) " *  Copyright (C) 1989, 1991 Free Software Foundation, Inc." >> .ver
	@$(ECHO) " *                           675 Mass Ave, Cambridge, MA 02139, USA" >> .ver
	@$(ECHO) " *  Everyone is permitted to copy and distribute verbatim copies" >> .ver
	@$(ECHO) " *  of this license document, but changing it is not allowed." >> .ver
	@$(ECHO) " *" >> .ver
	@$(ECHO) " *  This program is free software; you can redistribute it and/or modify" >> .ver
	@$(ECHO) " *  it under the terms of the GNU General Public License as published by" >> .ver
	@$(ECHO) " *  the Free Software Foundation; either version 2 of the License, or" >> .ver
	@$(ECHO) " *  (at your option) any later version." >> .ver
	@$(ECHO) " *" >> .ver
	@$(ECHO) " *  This program is distributed in the hope that it will be useful," >> .ver
	@$(ECHO) " *  but WITHOUT ANY WARRANTY; without even the implied warranty of" >> .ver
	@$(ECHO) " *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the" >> .ver
	@$(ECHO) " *  GNU General Public License for more details." >> .ver
	@$(ECHO) " *" >> .ver
	@$(ECHO) " *  You should have received a copy of the GNU General Public License" >> .ver
	@$(ECHO) " *  along with this program; if not, write to the Free Software" >> .ver
	@$(ECHO) " *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA." >> .ver
	@$(ECHO) " *" >> .ver
	@$(ECHO) " */" >> .ver
	@$(ECHO) >> .ver
	@$(ECHO) "/*" >> .ver
	@$(ECHO) " *  IN NO EVENT SHALL ANY AND ALL PERSONS INVOLVED IN THE DEVELOPMENT OF THIS" >> .ver
	@$(ECHO) " *  PACKAGE, NOW REFERRED TO AS "APCUPSD-Team" BE LIABLE TO ANY PARTY FOR" >> .ver
	@$(ECHO) " *  DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING" >> .ver
	@$(ECHO) " *  OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF ANY OR ALL" >> .ver
	@$(ECHO) " *  OF THE "APCUPSD-Team" HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." >> .ver
	@$(ECHO) " *" >> .ver
	@$(ECHO) " *  THE "APCUPSD-Team" SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING," >> .ver
	@$(ECHO) " *  BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND" >> .ver
	@$(ECHO) " *  FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS" >> .ver
	@$(ECHO) " *  ON AN "AS IS" BASIS, AND THE "APCUPSD-Team" HAS NO OBLIGATION TO PROVIDE" >> .ver
	@$(ECHO) " *  MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS." >> .ver
	@$(ECHO) " *" >> .ver
	@$(ECHO) " *  THE "APCUPSD-Team" HAS ABSOLUTELY NO CONNECTION WITH THE COMPANY" >> .ver
	@$(ECHO) " *  AMERICAN POWER CONVERSION, "APCC".  THE "APCUPSD-Team" DID NOT AND" >> .ver
	@$(ECHO) " *  HAS NOT SIGNED ANY NON-DISCLOSURE AGREEMENTS WITH "APCC".  ANY AND ALL" >> .ver
	@$(ECHO) " *  OF THE LOOK-A-LIKE ( UPSlink(tm) Language ) WAS DERIVED FROM THE" >> .ver
	@$(ECHO) " *  SOURCES LISTED BELOW." >> .ver
	@$(ECHO) " *" >> .ver
	@$(ECHO) " */" >> .ver
	@$(ECHO) >> .ver
	@$(ECHO) \#ifndef _APC_VERSION_H >> .ver
	@$(ECHO) \#define _APC_VERSION_H >> .ver
	@$(ECHO) >> .ver
	@$(ECHO) \#define APCUPSD_RELEASE \"$(MAJOR).$(MINOR).$(TINY)\" >> .ver
	@$(ECHO) >> .ver
	@$(ECHO) \#ifndef __$(OS)__ >> .ver
	@$(ECHO) \#define __$(OS)__ >> .ver
	@$(ECHO) \#endif /*\ __$(OS)__ *\/ >> .ver
	@$(ECHO) >> .ver
	@if [ -d /usr/include/ncurses ]; then \
		if [ -f /usr/include/ncurses/curses.h ]; then \
			if [ -f /usr/include/ncurses/panel.h ]; then \
				if [ -f /usr/include/ncurses/menu.h ]; then \
					$(ECHO) \#undef __NO_NCURSES__ >> .ver; \
					$(ECHO) \#define __NCURSES__ >> .ver; \
					$(ECHO) \#undef __CURSES__ >> .ver; \
				fi \
			fi \
		fi \
		elif [ -f /usr/include/curses.h ]; then \
			if [ -f /usr/include/panel.h ]; then \
				if [ -f /usr/include/menu.h ]; then \
					$(ECHO) \#undef __NO_NCURSES__ >> .ver; \
					$(ECHO) \#undef __NCURSES__ >> .ver; \
					$(ECHO) \#define __CURSES__ >> .ver; \
				fi \
			fi \
		else \
			$(ECHO) \#define __NO_NCURSES__ >> .ver; \
			$(ECHO) \#undef __NCURSES__ >> .ver; \
			$(ECHO) \#undef __CURSES__ >> .ver; \
	fi
	@$(ECHO) >> .ver
	@$(ECHO) \#endif /*\_APC_VERSION_H *\/ >> .ver
	@$(MV) -f .ver $@

ifdef MUSIC

$(APCUPSD) : $(OBJ)
	$(CC) -o $(APCUPSD)-$(OS) $(DOBJ)
	$(CC) -o $(APCACCESS)-$(OS) $(TOBJ)
	$(CC) -o $(POWERFLUTE)-$(OS) $(POBJ) -lncurses -lmenu -lpanel
	@if [ ! "`$(ECHO) $(NAME)`" = "" ]; then \
		$(MV) $(APCUPSD)-$(OS) $(APCUPSD)-$(NAME); \
		$(MV) $(APCACCESS)-$(OS) $(APCACCESS)-$(NAME); \
		$(MV) $(POWERFLUTE)-$(OS) $(POWERFLUTE)-$(NAME); \
	fi
	@$(RM) -f $(OBJ)

else

$(APCUPSD) : $(OBJ)
	$(CC) -o $(APCUPSD)-$(OS) $(DOBJ)
	$(CC) -o $(APCACCESS)-$(OS) $(TOBJ)
	@if [ ! "`$(ECHO) $(NAME)`" = "" ]; then \
		$(MV) $(APCUPSD)-$(OS) $(APCUPSD)-$(NAME); \
		$(MV) $(APCACCESS)-$(OS) $(APCACCESS)-$(NAME); \
	fi
	@$(RM) -f $(OBJ)

endif

#****************************************************************************

# AIX for the RS6000: Use cc.  Differs from AIX370/386 in endianness

aix :
	@$(MAKE) depend $(APCUPSD) \
		OS="aix" \
		CC="cc"

# AIX370, AIX386: Use cc

aix370 :
	@$(MAKE) depend $(APCUPSD) \
		OS="aix370" \
		CC="cc"

aix386 :
	@$(MAKE) depend $(APCUPSD) \
		OS="aix386" \
		CC="cc"

# AUX: The only Unix so bloated it has /etc.etc.etc

# BSD 386: Use cc

bsd386 :
	@$(MAKE) depend $(APCUPSD) \
		OS="bsd386" \
		CC="cc"

# Convex: Use cc (cc has some bugs)

convex :
	@$(MAKE) depend $(APCUPSD) \
		OS="convex" \
		CC="cc"

# Esix: Run away!!  Run away!!

# FreeBSD

freebsd :
	@$(MAKE) depend $(APCUPSD) \
		OS="freebsd" \
		CC="cc"

# Generic: Generic BSD-ish system running gcc

generic :
	@$(MAKE) depend $(APCUPSD) \
		CC="cc"

# HPUX: Use cc if you have the ANSI C compiler, otherwise use gcc
#       Need to use '-Aa -D_HPUX_SOURCE' as compiler options to get
#       C compiler into ANSI C mode with UNIX symbols.

hpux :
	@$(MAKE) depend $(APCUPSD) \
		OS="hpux" \
		CMDC="-Aa -D_HPUX_SOURCE +O3" \
		CC="cc"

hpux-gcc :
	@$(MAKE) depend $(APCUPSD) \
		OS="hpux" \
		CC="gcc"

# Irix: Use cc with the -acpp flag for maximum ANSI-ness

irix :
	@$(MAKE) depend $(APCUPSD) \
		OS="irix" \
		CMDC="-acpp" \
		CC="cc"

# ISC Unix: Use gcc

isc :
	@$(MAKE) depend $(APCUPSD) \
		OS="isc" \
		CC="gcc"

# Linux: Use gcc

linux :
	@$(MAKE) depend $(APCUPSD) \
		OS="linux" \
		CC="gcc"

linux-libc6 :
	@$(MAKE) depend $(APCUPSD) \
		OS="linux" \
		CMDC="-I/usr/ix86-linuxglibc2/include \
			-I/usr/lib/gcc-lib/i686-linuxglibc2/2.8.1/include \
			-I/usr/include" \
		CC="gcc -b i686-linuxglibc2 -nostdinc"

# MiNT: Use gcc

mint :
	@$(MAKE) depend $(APCUPSD) \
		OS="mint" \
		CC="gcc"

# Risc/OS 4: Use gcc

mipsbsd :
	@$(MAKE) depend $(APCUPSD) \
		OS="mipsbsd" \
		CC="gcc"

# NeXT 3.0: Use cc

next :
	@$(MAKE) depend $(APCUPSD) \
		OS="next" \
		CMDL="-object -s" \
		CC="cc"

# OSF 1: Use gcc

osf1 :
	@$(MAKE) depend $(APCUPSD) \
		OS="osf1" \
		CC="gcc"

# QNX 4.x: Use cc -ml, ld -N32768 -ml

qnx :
	@$(MAKE) depend $(APCUPSD) \
		OS="qnx" \
		CMDC="-ml" \
		CMDL="-N32768 -ml" \
		CC="cc"

# SCO: Use cc.

sco :
	@$(MAKE) depend $(APCUPSD) \
		OS="sco" \
		CC="cc"

# Sun/Slowaris: Use gcc

sun :
	@$(MAKE) depend $(APCUPSD) \
		OS="sun" \
		CC="gcc"

# SVR4: Use cc.  Better results can be obtained by upgrading your OS to
#       4.4 BSD.

svr4 :
	@$(MAKE) depend $(APCUPSD) \
		OS="svr4" \
		CC="cc"

# Ultrix: Use vcc or gcc

ultrix :
	@$(MAKE) depend $(APCUPSD) \
		OS="ultrix" \
		CC="gcc"

# Amdahl UTS 4: Use cc

uts4 :
	@$(MAKE) depend $(APCUPSD) \
		OS="uts4" \
		CMDC="-Xc" \
		CC="cc"

#****************************************************************************

$(APC_UPSD_VERSION).lsm : Makefile
	@$(ECHO) "Begin3" > .lsm
	@$(ECHO) "Title:		apcupsd" >> .lsm
	@$(ECHO) "Version:	v"$(MAJOR).$(MINOR).$(TINY) >> .lsm
	@$(ECHO) "Entered-date:	"`date` >> .lsm
	@$(ECHO) "Description:	UPS power management under Linux for APCC Products." >> .lsm
	@$(ECHO) "		BackUPS, BackUPS Pro, SmartUPS V/S, and SmartUPS(NET/RM)" >> .lsm
	@$(ECHO) "		success. MatrixUPS and ShareUPS testing stage." >> .lsm
	@$(ECHO) "		SmartUPS V/S is untested, but should be okay." >> .lsm
	@$(ECHO) "		It allows your computer/server to run during power problems" >> .lsm
	@$(ECHO) "		for a specified length of time or the life of the batteries" >> .lsm
	@$(ECHO) "		in your BackUPS, BackUPS Pro, SmartUPS v/s, or SmartUPS, and" >> .lsm
	@$(ECHO) "		then properly executes a controlled shutdown during an" >> .lsm
	@$(ECHO) "		extended power failure." >> .lsm
	@$(ECHO) "		The following APC cables are supported fully:" >> .lsm
	@$(ECHO) "		940-0020B, 940-0024B, 940-0024C, 940-0095A, 940-0095C(maybe)," >> .lsm
	@$(ECHO) "		940-0023A(Last resort, please pick another.)" >> .lsm
	@$(ECHO) "		Successful tests on BackUPS 400/600, BackUPS Pro 420/650/1400," >> .lsm
	@$(ECHO) "		SmartUPS v/s, and SmartUPS SU700RM/SU1250/SU1400RM w/ SMNP" >> .lsm
	@$(ECHO) "		PowerNET card. Current testing with ShareUPS/SU3000 Matrix." >> .lsm
	@$(ECHO) "		EtherUPS or NetUPS is clean and works but needs slave" >> .lsm
	@$(ECHO) "		disconnect/reconnect polish." >> .lsm
	@$(ECHO) "		APCaccess is the IPC management tool for \"apcupsd\"." >> .lsm
	@$(ECHO) "		APCaccess is used to manage slaves locally." >> .lsm
	@$(ECHO) "Keywords:	power, ups, BackUPS, BackUPS Pro, SmartUPS V/S, SmartUPS," >> .lsm
	@$(ECHO) "		MatrixUPS, PowerNET, ShareUPS, (EtherUPS or NetUPS) (C)" >> .lsm
	@$(ECHO) "Required:	Any UNIX O/S, possible." >> .lsm
	@$(ECHO) "		Linux 2.0.X, gcc 2.7.2" >> .lsm
	@$(ECHO) "		Linux 2.0.33, gcc 2.7.2.3, [ libc6|libc.so.2.0.6|glibc2 ]" >> .lsm
	@$(ECHO) "Portablity:	Unlimited." >> .lsm
	@$(ECHO) "Author:		Andre Hedrick <hedrick@astro.dyer.vanderbilt.edu>" >> .lsm
	@$(ECHO) "Maintained-by:	Andre Hedrick" >> .lsm
	@$(ECHO) "Linux Flavors:	Slackware 3.X, S.u.S.e 5.X, UNIFIX Linux 2.0," >> .lsm
	@$(ECHO) "		RedHat [3|4|5].X, Debian 1.X.X" >> .lsm
	@$(ECHO) "Primary-site:	http://www.brisse.dk/site/apcupsd/" >> .lsm
	@$(ECHO) "Alternate-site:	metalab.unc.edu/pub/Linux/system/ups" >> .lsm
	@$(ECHO) "		"$(APC_UPSD_VERSION)'.tar.gz' >> .lsm
	@$(ECHO) "Copying-policy:	GPL2." >> .lsm
	@$(ECHO) "Copyright:	Andre M. Hedrick <hedrick@astro.dyer.vanderbilt.edu>" >> .lsm
	@$(ECHO) "Platform:	Linux and other UNIXes" >> .lsm
	@$(ECHO) "Other:		S.u.S.e 5.0 distribution donated by S.u.S.e U.S.A." >> .lsm
	@$(ECHO) "		ASA Computers, Inc. donated a BackUPS Pro 650 PnP" >> .lsm
	@$(ECHO) "		<http://www.asacomputers.com/> <kedar@asacomputers.com>" >> .lsm
	@$(ECHO) "End" >> .lsm
	@$(MV) -f .lsm $@

#
# Look ma' ... find is the answer.
clean :
	$(RM) -f `$(FIND) . \( -name '*~' -o -name '*.bak' -o -name '*.ESV' \
		-o -name '*.ASV' -o -name '*.orig' -o -name 'core' \) -print`
	$(RM) -f *.lsm apcupsd-linux apcaccess-linux powerflute-linux
	$(RM) -f core *.o

distclean : clobber

clobber : clean rm-depend
	@$(RM) -f include/apc_version.h

rm-depend :
	@$(RM) -f .depend

.depend : include/apc_version.h $(SRC)
	$(CC) -M $(OPTIONS) *.c > .depend

depend : .depend

install :
	powersc STOP
	sleep 5

	$(CP) apcupsd$(NAME) $(PREFIX)/sbin/apcupsd
	$(CHMOD) 110 $(PREFIX)/sbin/apcupsd
	$(CP) apcaccess$(NAME) $(PREFIX)/bin/apcaccess
	$(CHMOD) 110 $(PREFIX)/bin/apcaccess
	$(CP) installs/powersc $(PREFIX)/sbin/powersc
	$(CP) docs/apcupsd.man8 $(MANPREFIX)/man/man8/apcupsd.8
	$(CP) installs/apcupsd.conf $(PREFIX)/etc/apcupsd.conf
	$(CHOWN) root.wheel $(PREFIX)/etc/apcupsd.conf
	$(CHMOD) 640 $(PREFIX)/etc/apcupsd.conf
	$(CHOWN) root.bin $(PREFIX)/sbin/apcupsd
	$(CHMOD) 110 $(PREFIX)/sbin/apcupsd
	$(CHOWN) root.bin $(PREFIX)/sbin/powersc
	$(CHMOD) 550 $(PREFIX)/sbin/powersc


tar :	clobber
	$(MKDIR) -p /$(APCUPSD)-$(VERSION)
	$(CP) $(SRC) $(OTHER) $(DIST) $(READNEW) /$(APCUPSD)-$(VERSION)
	$(CP) -r include /$(APCUPSD)-$(VERSION)
	$(CP) -r installs /$(APCUPSD)-$(VERSION)
	$(CP) -r docs /$(APCUPSD)-$(VERSION)
	$(CP) -r readmes /$(APCUPSD)-$(VERSION)
	$(TAR) cvszf /root/$(APCUPSD)-$(VERSION).tar.gz /$(APCUPSD)-$(VERSION)
	$(RM) -rf /$(APCUPSD)-$(VERSION)
	$(RM) -f *.lsm

dist : Makefile clobber $(APC_UPSD_VERSION).lsm
	$(MKDIR) -p /$(APC_UPSD_VERSION)
	$(CP) $(SRC) $(OTHER) $(DIST) $(READNEW) /$(APC_UPSD_VERSION)
	$(CP) -r include /$(APC_UPSD_VERSION)
	$(CP) -r installs /$(APC_UPSD_VERSION)
	$(CP) -r docs /$(APC_UPSD_VERSION)
	$(CP) -r readmes /$(APC_UPSD_VERSION)
	$(CP) $(APC_UPSD_VERSION).lsm /usr/local/tar-files
	$(CP) $(APC_UPSD_VERSION).lsm /$(APC_UPSD_VERSION)
	$(TAR) cvszf /usr/local/tar-files/$(APC_UPSD_VERSION).tar.gz /$(APC_UPSD_VERSION)
	$(RM) -rf /$(APC_UPSD_VERSION)
	$(RM) -f *.lsm

dummy :

#
# include a dependency file if one exists
#
##ifeq (.depend,$(wildcard .depend))
##include .depend
##endif
