cleaned up some of the document making
[comedilib.git] / Makefile
index b0bf9d707f806e3a54c90f1a6b74d40b214d1c9c..6221b15c65b424bd881648ea5398cc5318cc751f 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,22 +1,42 @@
 
 # Makefile for comedi
 
-.EXPORT_ALL_VARIABLES:
+TOPDIR=`pwd`
 
+include Config
 include version
-MAJOR=0
-
-CFLAGS = -Wall -O2
 
-all:   comedilib
-
-SUBDIRS= lib demo comedi_calibrate testing
+.EXPORT_ALL_VARIABLES:
 
-DOCFILES= README INSTALL `find doc -type f`
+MAJOR=0
 
-INSTALLDIR=$(DESTDIR)/usr
-INSTALLDIR_LIB=$(DESTDIR)/usr/lib
-INSTALLDIR_DOC=$(DESTDIR)/usr/doc/libcomedi
+TARGETS = comedilib
+ifeq ($(with_python),yes)
+TARGETS += python
+endif
+ifeq ($(with_perl),yes)
+TARGETS += perl
+endif
+
+all:   $(TARGETS)
+
+SUBDIRS= lib demo comedi_calibrate testing comedi_config
+
+DOCFILES= README `find doc -type f`
+
+INSTALLDIR=$(DESTDIR)$(PREFIX)
+INSTALLDIR_LIB=$(DESTDIR)$(PREFIX)/lib
+ifneq ($(DEB_BUILD_ARCH),)
+INSTALLDIR_DOC=$(DESTDIR)$(PREFIX)/share/doc/libcomedi
+INSTALLDIR_MAN=$(DESTDIR)$(PREFIX)/share/man
+INSTALLDIR_PERL=$(DESTDIR)$(PREFIX)/lib/perl5/
+else
+INSTALLDIR_DOC=$(DESTDIR)$(PREFIX)/doc/libcomedi
+INSTALLDIR_MAN=$(DESTDIR)$(PREFIX)/man
+INSTALLDIR_PERL=$(DESTDIR)$(PREFIX)/lib/perl/
+endif
+INSTALLDIR_BIN=$(DESTDIR)$(PREFIX)/bin
+INSTALLDIR_SBIN=$(DESTDIR)$(PREFIX)/sbin
 
 comedilib:     subdirs
 
@@ -24,15 +44,45 @@ config:     dummy
 
 install:       dummy
        install -d ${INSTALLDIR}/include
-       (cd include;install -m 644 comedilib.h ${INSTALLDIR}/include)
-       (cd include;install -m 644 comedi.h ${INSTALLDIR}/include)
-       install lib/libcomedi.so.${MAJOR} ${INSTALLDIR_LIB}
-       (cd $(INSTALLDIR_LIB);ln -s libcomedi.so.${version} libcomedi.so.${MAJOR})
-       (cd $(INSTALLDIR_LIB);ln -s libcomedi.so.${version} libcomedi.so)
+       install -m 644 include/comedilib.h ${INSTALLDIR}/include
+       install -m 644 include/comedi.h ${INSTALLDIR}/include
+       install lib/libcomedi.so.${version} ${INSTALLDIR_LIB}
+       (cd $(INSTALLDIR_LIB);ln -sf libcomedi.so.${version} libcomedi.so.${MAJOR})
+       (cd $(INSTALLDIR_LIB);ln -sf libcomedi.so.${version} libcomedi.so)
        install -m 644 lib/libcomedi.a ${INSTALLDIR_LIB}
-       #/sbin/ldconfig -n ${INSTALLDIR}/lib
+ifneq ($(INSTALLDIR),)
        install -d ${INSTALLDIR_DOC}
        install ${DOCFILES} ${INSTALLDIR_DOC}
+endif
+       install man/*.7 ${INSTALLDIR_MAN}/man7
+       install man/*.8 ${INSTALLDIR_MAN}/man8
+       install -s -m 755 comedi_config/comedi_config ${INSTALLDIR_SBIN}
+       install -s -m 755 comedi_calibrate/comedi_calibrate ${INSTALLDIR_BIN}
+
+install_debian: install
+       install -d ${INSTALLDIR_DOC}
+       install -m 644 ${DOCFILES} ${INSTALLDIR_DOC}
+       install -d $(DESTDIR)/etc/pcmcia/
+       install -m 755 etc/pcmcia/comedi $(DESTDIR)/etc/pcmcia/
+       install -m 644 etc/pcmcia/comedi.conf $(DESTDIR)/etc/pcmcia/
+       install -m 644 etc/pcmcia/comedi.opts $(DESTDIR)/etc/pcmcia/
+       install -m 755 etc/das1600.conf $(INSTALLDIR_DOC)/examples
+       install -m 755 etc/dt282x.conf $(INSTALLDIR_DOC)/examples
+ifeq ($(with_perl),yes)
+       install -d $(INSTALLDIR_PERL)
+       install -m 644 perl/blib/lib/Comedi.pm $(INSTALLDIR_PERL)/
+       install -d $(INSTALLDIR_PERL)/Comedi
+       install -m 644 perl/blib/lib/Comedi/Lib.pm $(INSTALLDIR_PERL)/Comedi
+       install -m 644 perl/blib/lib/Comedi/Trigger.pm $(INSTALLDIR_PERL)/Comedi
+       install -m 644 perl/blib/arch/auto/Comedi/Lib/Lib.so $(INSTALLDIR_PERL)/Comedi
+       install -m 644 perl/blib/arch/auto/Comedi/Lib/Lib.bs $(INSTALLDIR_PERL)/Comedi
+       #install -m 644 perl/blib/arch/auto/Comedi/Trigger.so $(INSTALLDIR_PERL)/Comedi
+       #install -m 644 perl/blib/arch/auto/Comedi/Trigger.bs $(INSTALLDIR_PERL)/Comedi
+       install -m 644 perl/blib/arch/auto/Comedi/Comedi.so $(INSTALLDIR_PERL)/Comedi
+       install -m 644 perl/blib/arch/auto/Comedi/Comedi.bs $(INSTALLDIR_PERL)/Comedi
+endif
+ifeq ($(with_python),yes)
+endif
 
 lpr:   dummy
        find . -name '*.[chs]'|xargs enscript -2r -pit.ps
@@ -42,10 +92,22 @@ subdirs:    dummy
 
 clean: dummy
        set -e;for i in $(SUBDIRS);do ${MAKE} clean -C $$i ; done
+       # These will fail if nothing was built, but that's not a problem
+       -$(MAKE) -C python distclean
+       -$(MAKE) -C perl distclean
 
 distclean:     clean
 
+python: dummy
+       $(MAKE) -C python -f Makefile.pre.in boot
+       $(MAKE) -C python all
+
+perl:  dummy
+       (cd perl;perl Makefile.PL)
+       $(MAKE) -C perl all
+       
 debian: dummy
+       chmod 755 debian/rules
        dpkg-buildpackage -rfakeroot
 
 dev:   dummy