isdn4k-utils/Makefile

152 lines
3.6 KiB
Makefile

# $Id: Makefile,v 1.4 1997/03/02 19:41:56 fritz Exp $
#
# Toplevel Makefile for isdn4k-utils
#
#.EXPORT_ALL_VARIABLES:
export I4LVERSION = 2.1
all: do-it-all
#
# Make "config" the default target if there is no configuration file.
#
ifeq (.config,$(wildcard .config))
include .config
do-it-all: subtargets
else
CONFIGURATION = config
do-it-all: config
endif
SUBDIRS = #lib
ifeq ($(CONFIG_ISDNCTRL),y)
SUBDIRS := $(SUBDIRS) isdnctrl
endif
ifeq ($(CONFIG_IPROFD),y)
SUBDIRS := $(SUBDIRS) iprofd
endif
ifeq ($(CONFIG_ICNCTRL),y)
SUBDIRS := $(SUBDIRS) icn
endif
ifeq ($(CONFIG_PCBITCTL),y)
SUBDIRS := $(SUBDIRS) pcbit
endif
ifeq ($(CONFIG_TELESCTRL),y)
SUBDIRS := $(SUBDIRS) teles
else
ifeq ($(CONFIG_HISAXCTRL),y)
SUBDIRS := $(SUBDIRS) teles
endif
endif
ifeq ($(CONFIG_IMON),y)
SUBDIRS := $(SUBDIRS) imon
endif
ifeq ($(CONFIG_AREACODE),y)
SUBDIRS := $(SUBDIRS) areacode
endif
ifeq ($(CONFIG_ISDNLOG),y)
SUBDIRS := $(SUBDIRS) isdnlog
endif
ifeq ($(CONFIG_XMONISDN),y)
SUBDIRS := $(SUBDIRS) xmonisdn
endif
ifeq ($(CONFIG_XISDNLOAD),y)
SUBDIRS := $(SUBDIRS) xisdnload
endif
ifeq ($(CONFIG_VBOX),y)
SUBDIRS := $(SUBDIRS) vbox
endif
ifeq ($(CONFIG_GENMAN),y)
SUBDIRS := $(SUBDIRS) doc
endif
ifeq ($(CONFIG_FAQ),y)
SUBDIRS := $(SUBDIRS) FAQ
endif
subtargets: $(CONFIGURATION)
set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i all; done
rootperm:
@if [ `id -u` != 0 ] ; then \
echo -e "\n\n Need root permission for installation!\n\n"; \
exit 1; \
fi
install: rootperm
set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i install; done
uninstall: rootperm
set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i uninstall; done
#
# targets clean and distclean go through ALL directories
# regardless of cofigured options.
#
clean:
-$(MAKE) -C scripts/lxdialog clean
-set -e; allow_null_glob_expansion=1; \
for i in */Makefile; do $(MAKE) -i -C `dirname $$i` clean; done
rm -f *~ *.o
distclean: clean
-set -e; allow_null_glob_expansion=1; \
for i in */Makefile; do $(MAKE) -i -C `dirname $$i` distclean; done
rm -f *~ .config .config.old scripts/autoconf.h .menuconfig \
Makefile.tmp .menuconfig.log
scripts/lxdialog/lxdialog:
@$(MAKE) -C scripts/lxdialog all
#
# Next target makes three attempts to configure:
# - if a Makefile already exists, make config
# - if a configure script exists, execute it
# - if a Makefile.in exists, make -f Makefile.in config
#
subconfig:
@echo Selected subdirs: $(SUBDIRS)
@set -e; for i in $(SUBDIRS); do \
if [ -f $$i/Makefile ] ; then \
echo -e "\nRunning make config in $$i ...\n"; sleep 1; \
$(MAKE) -C $$i config; \
else \
if [ -x $$i/configure ] ; then \
echo -e "\nRunning configure in $$i ...\n"; sleep 1; \
(cd $$i; ./configure); \
else \
if [ -f $$i/Makefile.in ] ; then \
echo -e "\nRunning make -f Makefile.in config in $$i ...\n"; sleep 1; \
$(MAKE) -C $$i -f Makefile.in config; \
fi; \
fi; \
fi; \
done
#
# Next target uses a second tempory Makefile
# because new .config has to be re-included.
#
menuconfig: scripts/lxdialog/lxdialog
@scripts/Menuconfig scripts/config.in
@cp Makefile Makefile.tmp
$(MAKE) -f Makefile.tmp subconfig
@rm -f Makefile.tmp
config: menuconfig
mrproper: distclean
archive: distclean
@(cd .. ;\
mv isdn4k-utils isdn4k-utils-$(I4LVERSION) ;\
tar cvzf distisdn/isdn4k-utils-$(I4LVERSION).tar.gz isdn4k-utils-$(I4LVERSION) ;\
mv isdn4k-utils-$(I4LVERSION) isdn4k-utils )
distarch: distclean
@(cd .. ;\
mv isdn4k-utils isdn4k-utils-$(I4LVERSION) ;\
tar -cvzf --exclude=CVS distisdn/isdn4k-utils-$(I4LVERSION).tar.gz \
isdn4k-utils-$(I4LVERSION) ;\
mv isdn4k-utils-$(I4LVERSION) isdn4k-utils )