Make stdout unbuffered, so that if stderr==stdout, lines match up.
[comedilib.git] / Makefile
1
2 # Makefile for comedi
3
4 with_python = no
5 with_perl = no
6
7 .EXPORT_ALL_VARIABLES:
8
9 include version
10 MAJOR=0
11
12 CFLAGS = -Wall -O2
13
14 CROSS   := 
15 CC      := $(CROSS)gcc
16 AR      := $(CROSS)ar
17 LD      := $(CROSS)ld
18 INSTALL := install
19
20 TARGETS = comedilib
21 ifeq ($(with_python),yes)
22 TARGETS += python
23 endif
24 ifeq ($(with_perl),yes)
25 TARGETS += perl
26 endif
27
28 all:    $(TARGETS)
29
30 SUBDIRS= lib demo comedi_calibrate testing comedi_config
31
32 DOCFILES= README `find doc -type f`
33
34 INSTALLDIR=$(DESTDIR)/usr
35 INSTALLDIR_LIB=$(DESTDIR)/usr/lib
36 ifneq ($(DEB_BUILD_ARCH),)
37 INSTALLDIR_DOC=$(DESTDIR)/usr/share/doc/libcomedi
38 INSTALLDIR_MAN=$(DESTDIR)/usr/share/man
39 INSTALLDIR_PERL=$(DESTDIR)/usr/lib/perl5/
40 else
41 INSTALLDIR_DOC=$(DESTDIR)/usr/doc/libcomedi
42 INSTALLDIR_MAN=$(DESTDIR)/usr/man
43 INSTALLDIR_PERL=$(DESTDIR)/usr/lib/perl/
44 endif
45 INSTALLDIR_BIN=$(DESTDIR)/usr/bin
46 INSTALLDIR_SBIN=$(DESTDIR)/usr/sbin
47
48 comedilib:      subdirs
49
50 config: dummy
51
52 install:        dummy
53         install -d ${INSTALLDIR}/include
54         install -m 644 include/comedilib.h ${INSTALLDIR}/include
55         install -m 644 include/comedi.h ${INSTALLDIR}/include
56         install lib/libcomedi.so.${version} ${INSTALLDIR_LIB}
57         (cd $(INSTALLDIR_LIB);ln -sf libcomedi.so.${version} libcomedi.so.${MAJOR})
58         (cd $(INSTALLDIR_LIB);ln -sf libcomedi.so.${version} libcomedi.so)
59         install -m 644 lib/libcomedi.a ${INSTALLDIR_LIB}
60 ifneq ($(INSTALLDIR),)
61         install -d ${INSTALLDIR_DOC}
62         install ${DOCFILES} ${INSTALLDIR_DOC}
63 endif
64         install man/*.7 ${INSTALLDIR_MAN}/man7
65         install man/*.8 ${INSTALLDIR_MAN}/man8
66         install -s -m 755 comedi_config/comedi_config ${INSTALLDIR_SBIN}
67         install -s -m 755 comedi_calibrate/comedi_calibrate ${INSTALLDIR_BIN}
68
69 install_debian: install
70         install -d ${INSTALLDIR_DOC}
71         install -m 644 ${DOCFILES} ${INSTALLDIR_DOC}
72         install -d $(DESTDIR)/etc/pcmcia/
73         install -m 755 etc/pcmcia/comedi $(DESTDIR)/etc/pcmcia/
74         install -m 644 etc/pcmcia/comedi.conf $(DESTDIR)/etc/pcmcia/
75         install -m 644 etc/pcmcia/comedi.opts $(DESTDIR)/etc/pcmcia/
76         install -m 755 etc/das1600.conf $(INSTALLDIR_DOC)/examples
77         install -m 755 etc/dt282x.conf $(INSTALLDIR_DOC)/examples
78 ifeq ($(with_perl),yes)
79         install -d $(INSTALLDIR_PERL)
80         install -m 644 perl/blib/lib/Comedi.pm $(INSTALLDIR_PERL)/
81         install -d $(INSTALLDIR_PERL)/Comedi
82         install -m 644 perl/blib/lib/Comedi/Lib.pm $(INSTALLDIR_PERL)/Comedi
83         install -m 644 perl/blib/lib/Comedi/Trigger.pm $(INSTALLDIR_PERL)/Comedi
84         install -m 644 perl/blib/arch/auto/Comedi/Lib/Lib.so $(INSTALLDIR_PERL)/Comedi
85         install -m 644 perl/blib/arch/auto/Comedi/Lib/Lib.bs $(INSTALLDIR_PERL)/Comedi
86         #install -m 644 perl/blib/arch/auto/Comedi/Trigger.so $(INSTALLDIR_PERL)/Comedi
87         #install -m 644 perl/blib/arch/auto/Comedi/Trigger.bs $(INSTALLDIR_PERL)/Comedi
88         install -m 644 perl/blib/arch/auto/Comedi/Comedi.so $(INSTALLDIR_PERL)/Comedi
89         install -m 644 perl/blib/arch/auto/Comedi/Comedi.bs $(INSTALLDIR_PERL)/Comedi
90 endif
91 ifeq ($(with_python),yes)
92 endif
93
94 lpr:    dummy
95         find . -name '*.[chs]'|xargs enscript -2r -pit.ps
96
97 subdirs:        dummy
98         set -e;for i in ${SUBDIRS};do ${MAKE} -C $$i ; done
99
100 clean:  dummy
101         set -e;for i in $(SUBDIRS);do ${MAKE} clean -C $$i ; done
102         # These will fail if nothing was built, but that's not a problem
103         -$(MAKE) -C python distclean
104         -$(MAKE) -C perl distclean
105
106 distclean:      clean
107
108 python: dummy
109         $(MAKE) -C python -f Makefile.pre.in boot
110         $(MAKE) -C python all
111
112 perl:   dummy
113         (cd perl;perl Makefile.PL)
114         $(MAKE) -C perl all
115         
116 debian: dummy
117         chmod 755 debian/rules
118         dpkg-buildpackage -rfakeroot
119
120 dev:    dummy
121         -rm /dev/comedi*
122         /bin/mknod /dev/comedi0 c 98 0
123         /bin/mknod /dev/comedi1 c 98 1
124         /bin/mknod /dev/comedi2 c 98 2
125         /bin/mknod /dev/comedi3 c 98 3
126         chown root.root /dev/comedi*
127         chmod 666 /dev/comedi*
128
129 dummy:
130