]> git.ipfire.org Git - thirdparty/mdadm.git/blame - Makefile
mdadm-1.6.0
[thirdparty/mdadm.git] / Makefile
CommitLineData
64c4757e 1#
9a9dab36 2# mdadm - manage Linux "md" devices aka RAID arrays.
64c4757e 3#
cd29a5c8 4# Copyright (C) 2001-2002 Neil Brown <neilb@cse.unsw.edu.au>
64c4757e
NB
5#
6#
7# This program is free software; you can redistribute it and/or modify
8# it under the terms of the GNU General Public License as published by
9# the Free Software Foundation; either version 2 of the License, or
10# (at your option) any later version.
11#
12# This program is distributed in the hope that it will be useful,
13# but WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15# GNU General Public License for more details.
16#
17# You should have received a copy of the GNU General Public License
18# along with this program; if not, write to the Free Software
19# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20#
21# Author: Neil Brown
22# Email: <neilb@cse.unsw.edu.au>
23# Paper: Neil Brown
24# School of Computer Science and Engineering
25# The University of New South Wales
26# Sydney, 2052
27# Australia
28#
29
2d465520
NB
30# define "CXFLAGS" to give extra flags to CC.
31# e.g. make CXFLAGS=-O to optimise
5787fa49
NB
32TCC = tcc
33UCLIBC_GCC = i386-uclibc-gcc
34
cd29a5c8 35CC = gcc
2d465520 36CXFLAGS = -ggdb
aa88f531 37CWFLAGS = -Wall -Werror -Wstrict-prototypes
11a3e71d
NB
38SYSCONFDIR = /etc
39CONFFILE = $(SYSCONFDIR)/mdadm.conf
aa88f531
NB
40MAILCMD =/usr/sbin/sendmail -t
41CFLAGS = $(CWFLAGS) -DCONFFILE=\"$(CONFFILE)\" $(CXFLAGS) -DSendmail=\""$(MAILCMD)"\"
11a3e71d
NB
42
43# If you want a static binary, you might uncomment these
44# LDFLAGS = -static
45# STRIP = -s
64c4757e 46
cd29a5c8 47INSTALL = /usr/bin/install
c913b90e 48DESTDIR =
9a9dab36 49BINDIR = /sbin
c913b90e
NB
50MANDIR = /usr/share/man
51MAN4DIR = $(MANDIR)/man4
52MAN5DIR = $(MANDIR)/man5
53MAN8DIR = $(MANDIR)/man8
cd29a5c8 54
d013a55e
NB
55
56KLIBC=/home/src/klibc/klibc-0.77
57
e0d19036 58OBJS = mdadm.o config.o mdstat.o ReadMe.o util.o Manage.o Assemble.o Build.o Create.o Detail.o Examine.o Monitor.o dlink.o Kill.o Query.o
5787fa49 59SRCS = mdadm.c config.c mdstat.c ReadMe.c util.c Manage.c Assemble.c Build.c Create.c Detail.c Examine.c Monitor.c dlink.c Kill.c Query.c
cd29a5c8 60
56eb10c0 61all : mdadm mdadm.man md.man mdadm.conf.man
64c4757e 62
5787fa49
NB
63everything: all mdadm.static mdadm.tcc mdadm.uclibc
64
9a9dab36 65mdadm : $(OBJS)
11a3e71d 66 $(CC) $(LDFLAGS) -o mdadm $^
64c4757e 67
5787fa49
NB
68mdadm.static : $(OBJS)
69 $(CC) $(LDFLAGS) --static -o mdadm.static $^
70
71mdadm.tcc : $(SRCS) mdadm.h
72 $(TCC) -o mdadm.tcc $(SRCS)
73
74mdadm.uclibc : $(SRCS) mdadm.h
75 $(UCLIBC_GCC) -DUCLIBC -o mdadm.uclibc $(SRCS)
76
d013a55e
NB
77mdadm.klibc : $(SRCS) mdadm.h
78 rm -f $(OBJS)
79 gcc -nostdinc -iwithprefix include -I$(KLIBC)/klibc/include -I$(KLIBC)/linux/include -I$(KLIBC)/klibc/arch/i386/include -I$(KLIBC)/klibc/include/bits32 $(CFLAGS) $(SRCS)
80
98c6faba
NB
81mdassemble : mdassemble.c Assemble.c config.c dlink.c util.c mdadm.h
82 rm -f $(OBJS)
83 diet gcc -o mdassemble mdassemble.c Assemble.c config.c dlink.c util.c
84
85# This doesn't work
86mdassemble.klibc : mdassemble.c Assemble.c config.c dlink.c util.c mdadm.h
87 rm -f $(OBJS)
88 gcc -nostdinc -iwithprefix include -I$(KLIBC)/klibc/include -I$(KLIBC)/linux/include -I$(KLIBC)/klibc/arch/i386/include -I$(KLIBC)/klibc/include/bits32 $(CFLAGS) -o mdassemble mdassemble.c Assemble.c config.c dlink.c util.c
89
90
9a9dab36
NB
91mdadm.man : mdadm.8
92 nroff -man mdadm.8 > mdadm.man
cd29a5c8 93
56eb10c0
NB
94md.man : md.4
95 nroff -man md.4 > md.man
96
97mdadm.conf.man : mdadm.conf.5
98 nroff -man mdadm.conf.5 > mdadm.conf.man
99
9a9dab36 100$(OBJS) : mdadm.h
64c4757e 101
c913b90e
NB
102install : mdadm mdadm.8 md.4 mdadm.conf.5
103 $(INSTALL) -D $(STRIP) -m 755 mdadm $(DESTDIR)$(BINDIR)/mdadm
104 $(INSTALL) -D -m 644 mdadm.8 $(DESTDIR)$(MAN8DIR)/mdadm.8
105 $(INSTALL) -D -m 644 md.4 $(DESTDIR)$(MAN4DIR)/md.4
106 $(INSTALL) -D -m 644 mdadm.conf.5 $(DESTDIR)$(MAN5DIR)/mdadm.conf.5
cd29a5c8 107
64c4757e 108clean :
feb716e9 109 rm -f mdadm $(OBJS) core *.man mdadm.tcc mdadm.uclibc mdadm.static *.orig *.porig *.rej *.alt
64c4757e
NB
110
111dist : clean
112 ./makedist
682c7051
NB
113
114TAGS :
115 etags *.h *.c