blob: e16c12f35f16970ef2a69ce9a2251264bacb7491 [file] [log] [blame]
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001#
2# Makefile for e2fsck
3#
4
5srcdir = @srcdir@
6top_srcdir = @top_srcdir@
7VPATH = @srcdir@
8top_builddir = ..
Theodore Ts'o1e3472c1997-04-29 14:53:37 +00009my_dir = e2fsck
Theodore Ts'o50e1e101997-04-26 13:58:21 +000010INSTALL = @INSTALL@
11LDFLAG_STATIC = @LDFLAG_STATIC@
12
13@MCONFIG@
14
Theodore Ts'o21c84b71997-04-29 16:15:03 +000015PROGS= e2fsck @EXTRA_PROGS@
Theodore Ts'o50e1e101997-04-26 13:58:21 +000016MANPAGES= e2fsck.8
17
Theodore Ts'o1e3472c1997-04-29 14:53:37 +000018LIBS= $(LIBEXT2FS) $(LIBCOM_ERR) $(LIBUUID)
19DEPLIBS= $(LIBEXT2FS) $(LIBCOM_ERR) $(LIBUUID)
Theodore Ts'o62c06f71997-04-29 14:34:47 +000020
Theodore Ts'o1e3472c1997-04-29 14:53:37 +000021STATIC_LIBS= $(STATIC_LIBEXT2FS) $(STATIC_LIBCOM_ERR) $(STATIC_LIBUUID)
22STATIC_DEPLIBS= $(STATIC_LIBEXT2FS) $(STATIC_LIBCOM_ERR) $(STATIC_LIBUUID)
Theodore Ts'o62c06f71997-04-29 14:34:47 +000023
Theodore Ts'o1e3472c1997-04-29 14:53:37 +000024PROFILED_LIBS= $(PROFILED_LIBEXT2FS) $(PROFILED_LIBCOM_ERR) $(PROFILED_LIBUUID)
25PROFILED_DEPLIBS= $(PROFILED_LIBEXT2FS) $(PROFILED_LIBCOM_ERR) $(PROFILED_LIBUUID)
Theodore Ts'o50e1e101997-04-26 13:58:21 +000026
27.c.o:
Theodore Ts'o74becf31997-04-26 14:37:06 +000028 $(CC) -c $(ALL_CFLAGS) $< -o $@
Theodore Ts'o21c84b71997-04-29 16:15:03 +000029@PROFILE_CMT@ $(CC) $(ALL_CFLAGS) -g -pg -o profiled/$*.o -c $<
Theodore Ts'o50e1e101997-04-26 13:58:21 +000030
31#
32# Flags for using Checker
33# Note: The optimization flags must include -g
34#
35#MCHECK= -checker
Theodore Ts'o62c06f71997-04-29 14:34:47 +000036#LIBS= $(LIBCOM_ERR) $(LIB_EXT2FS) $(CHECKLIB)
37#DEPLIBS= $(LIBCOM_ERR) $(LIB_EXT2FS)
Theodore Ts'o50e1e101997-04-26 13:58:21 +000038#CHECKLIB= /usr/lib/libchecker.o
39
40#
41# Flags for doing mtrace --- uncomment to produce mtracing e2fsck
42# Note: The optimization flags must include -g
43#
44#MTRACE= -DMTRACE
45#MTRACE_OBJ= mtrace.o
46#MTRACE_SRC= $(srcdir)/mtrace.c
47#OPT= -g
48
49#
50# Flags for doing mcheck --- uncomment to produce mchecking e2fsck
51# Note: The optimization flags must include -g
52#
53#MCHECK= -DMCHECK
54
Theodore Ts'o1b6bf171997-10-03 17:48:10 +000055OBJS= unix.o e2fsck.o super.o pass1.o pass1b.o pass2.o pass3.o pass4.o \
56 pass5.o swapfs.o badblocks.o util.o dirinfo.o ehandler.o \
57 problem.o message.o $(MTRACE_OBJ)
Theodore Ts'o50e1e101997-04-26 13:58:21 +000058
Theodore Ts'o1b6bf171997-10-03 17:48:10 +000059PROFILED_OBJS= profiled/unix.o profiled/e2fsck.o profiled/super.o \
60 profiled/pass1.o profiled/pass1b.o \
Theodore Ts'o62c06f71997-04-29 14:34:47 +000061 profiled/pass2.o profiled/pass3.o profiled/pass4.o profiled/pass5.o \
62 profiled/badblocks.o profiled/util.o profiled/dirinfo.o \
Theodore Ts'o21c84b71997-04-29 16:15:03 +000063 profiled/ehandler.o profiled/message.o profiled/problem.o \
64 profiled/swapfs.o
Theodore Ts'o62c06f71997-04-29 14:34:47 +000065
Theodore Ts'o50e1e101997-04-26 13:58:21 +000066SRCS= $(srcdir)/e2fsck.c \
Theodore Ts'o1b6bf171997-10-03 17:48:10 +000067 $(srcdir)/super.c \
Theodore Ts'o50e1e101997-04-26 13:58:21 +000068 $(srcdir)/pass1.c \
69 $(srcdir)/pass1b.c \
70 $(srcdir)/pass2.c \
71 $(srcdir)/pass3.c \
72 $(srcdir)/pass4.c \
73 $(srcdir)/pass5.c \
74 $(srcdir)/badblocks.c \
75 $(srcdir)/util.c \
Theodore Ts'o1b6bf171997-10-03 17:48:10 +000076 $(srcdir)/unix.c \
Theodore Ts'o50e1e101997-04-26 13:58:21 +000077 $(srcdir)/dirinfo.c \
78 $(srcdir)/ehandler.c \
Theodore Ts'o21c84b71997-04-29 16:15:03 +000079 $(srcdir)/problem.c \
Theodore Ts'o50e1e101997-04-26 13:58:21 +000080 $(MTRACE_SRC)
81
Theodore Ts'o1e3472c1997-04-29 14:53:37 +000082all:: profiled $(PROGS) e2fsck.static e2fsck.shared $(MANPAGES)
Theodore Ts'o50e1e101997-04-26 13:58:21 +000083
Theodore Ts'o62c06f71997-04-29 14:34:47 +000084@PROFILE_CMT@all:: e2fsck.profiled
85
86e2fsck: e2fsck.@E2FSCK_TYPE@
87 $(CP) e2fsck.@E2FSCK_TYPE@ e2fsck
88
89e2fsck.static: $(OBJS) $(STATIC_DEPLIBS)
90 $(LD) $(ALL_LDFLAGS) $(LDFLAG_STATIC) -o e2fsck.static $(OBJS) \
91 $(STATIC_LIBS)
92
93e2fsck.shared: $(OBJS) $(DEPLIBS)
94 $(LD) $(ALL_LDFLAGS) -o e2fsck.shared $(OBJS) $(LIBS)
95
Theodore Ts'o21c84b71997-04-29 16:15:03 +000096e2fsck.profiled: $(PROFILED_OBJS) $(PROFILED_DEPLIBS)
97 $(LD) $(ALL_LDFLAGS) -g -pg -o e2fsck.profiled $(PROFILED_OBJS) \
Theodore Ts'o62c06f71997-04-29 14:34:47 +000098 $(PROFILED_LIBS)
Theodore Ts'o50e1e101997-04-26 13:58:21 +000099
100extend: extend.o
Theodore Ts'o74becf31997-04-26 14:37:06 +0000101 $(LD) $(ALL_LDFLAGS) -o extend extend.o $(CHECKLIB)
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000102
103flushb: flushb.o
Theodore Ts'o74becf31997-04-26 14:37:06 +0000104 $(LD) $(ALL_LDFLAGS) -o flushb flushb.o $(CHECKLIB)
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000105
106iscan: iscan.o util.o
Theodore Ts'o74becf31997-04-26 14:37:06 +0000107 $(LD) $(ALL_LDFLAGS) -o iscan iscan.o util.o ehandler.o $(LIBS)
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000108
Theodore Ts'o62c06f71997-04-29 14:34:47 +0000109profiled:
110 mkdir profiled
111
112e2fsck.8: $(SUBSTITUTE) $(srcdir)/e2fsck.8.in
113 -$(CHMOD) +x $(SUBSTITUTE)
114 $(SUBSTITUTE) $(srcdir)/e2fsck.8.in e2fsck.8
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000115
116installdirs:
117 $(top_srcdir)/mkinstalldirs $(DESTDIR)$(sbindir) $(DESTDIR)$(man8dir) \
118 $(DESTDIR)$(cat8dir)
119
120install: $(PROGS) $(MANPAGES) installdirs
121 for i in $(PROGS); do \
122 $(INSTALL_PROGRAM) $$i $(DESTDIR)$(sbindir)/$$i; \
123 $(STRIP) $(DESTDIR)$(sbindir)/$$i; \
124 done
125 $(LN) -f $(DESTDIR)$(sbindir)/e2fsck $(DESTDIR)$(sbindir)/fsck.ext2
126 for i in $(MANPAGES); do \
Theodore Ts'o74becf31997-04-26 14:37:06 +0000127 $(INSTALL_DATA) $$i $(DESTDIR)$(man8dir)/$$i; \
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000128 done
Theodore Ts'o74becf31997-04-26 14:37:06 +0000129
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000130uninstall:
Theodore Ts'o21c84b71997-04-29 16:15:03 +0000131 for i in $(PROGS); do \
132 $(RM) -f $(sbindir)/$$i; \
133 done
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000134 $(RM) -f $(sbindir)/fsck.ext2
135 for i in $(MANPAGES); do \
136 $(RM) -f $(man8dir)/$$i; \
137 done
138
139clean:
Theodore Ts'o62c06f71997-04-29 14:34:47 +0000140 $(RM) -f $(PROGS) \#* *\# *.s *.o *.a *~ core e2fsck.static \
141 e2fsck.shared e2fsck.profiled e2fsck.8
142 $(RM) -rf profiled
143
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000144mostlyclean: clean
145distclean: clean
146 $(RM) -f .depend Makefile
147
148# +++ Dependency line eater +++
149#
150# Makefile dependencies follow. This must be the last section in
151# the Makefile.in file
152#
Theodore Ts'oa29f4d31997-04-29 21:26:48 +0000153e2fsck.o: $(srcdir)/e2fsck.c $(top_srcdir)/lib/et/com_err.h \
Theodore Ts'o1e3472c1997-04-29 14:53:37 +0000154 $(top_srcdir)/lib/uuid/uuid.h $(srcdir)/e2fsck.h \
155 $(top_srcdir)/lib/ext2fs/ext2fs.h \
156 $(top_srcdir)/lib/ext2fs/io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
Theodore Ts'o21c84b71997-04-29 16:15:03 +0000157 $(top_srcdir)/lib/ext2fs/bitops.h $(srcdir)/problem.h \
158 $(srcdir)/../version.h
Theodore Ts'oa29f4d31997-04-29 21:26:48 +0000159pass1.o: $(srcdir)/pass1.c $(top_srcdir)/lib/et/com_err.h \
160 $(srcdir)/e2fsck.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
Theodore Ts'o62c06f71997-04-29 14:34:47 +0000161 $(top_srcdir)/lib/ext2fs/io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
Theodore Ts'o21c84b71997-04-29 16:15:03 +0000162 $(top_srcdir)/lib/ext2fs/bitops.h $(srcdir)/problem.h
Theodore Ts'oa29f4d31997-04-29 21:26:48 +0000163pass1b.o: $(srcdir)/pass1b.c $(top_srcdir)/lib/et/com_err.h \
164 $(srcdir)/e2fsck.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
Theodore Ts'o21c84b71997-04-29 16:15:03 +0000165 $(top_srcdir)/lib/ext2fs/io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
166 $(top_srcdir)/lib/ext2fs/bitops.h $(srcdir)/problem.h
Theodore Ts'oa29f4d31997-04-29 21:26:48 +0000167pass2.o: $(srcdir)/pass2.c $(top_srcdir)/lib/et/com_err.h $(srcdir)/e2fsck.h \
Theodore Ts'o21c84b71997-04-29 16:15:03 +0000168 $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/io.h \
169 $(top_builddir)/lib/ext2fs/ext2_err.h $(top_srcdir)/lib/ext2fs/bitops.h \
170 $(srcdir)/problem.h
Theodore Ts'oa29f4d31997-04-29 21:26:48 +0000171pass3.o: $(srcdir)/pass3.c $(top_srcdir)/lib/et/com_err.h \
172 $(srcdir)/e2fsck.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
Theodore Ts'o21c84b71997-04-29 16:15:03 +0000173 $(top_srcdir)/lib/ext2fs/io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
174 $(top_srcdir)/lib/ext2fs/bitops.h $(srcdir)/problem.h
Theodore Ts'o62c06f71997-04-29 14:34:47 +0000175pass4.o: $(srcdir)/pass4.c $(srcdir)/e2fsck.h \
176 $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/et/com_err.h \
177 $(top_srcdir)/lib/ext2fs/io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
Theodore Ts'o21c84b71997-04-29 16:15:03 +0000178 $(top_srcdir)/lib/ext2fs/bitops.h $(srcdir)/problem.h
179pass5.o: $(srcdir)/pass5.c $(top_srcdir)/lib/et/com_err.h \
Theodore Ts'oa29f4d31997-04-29 21:26:48 +0000180 $(srcdir)/e2fsck.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
Theodore Ts'o62c06f71997-04-29 14:34:47 +0000181 $(top_srcdir)/lib/ext2fs/io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
182 $(top_srcdir)/lib/ext2fs/bitops.h
Theodore Ts'oa29f4d31997-04-29 21:26:48 +0000183badblocks.o: $(srcdir)/badblocks.c $(top_srcdir)/lib/et/com_err.h \
184 $(srcdir)/e2fsck.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
185 $(top_srcdir)/lib/ext2fs/io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
186 $(top_srcdir)/lib/ext2fs/bitops.h
187util.o: $(srcdir)/util.c $(srcdir)/e2fsck.h \
Theodore Ts'o62c06f71997-04-29 14:34:47 +0000188 $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/et/com_err.h \
189 $(top_srcdir)/lib/ext2fs/io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
Theodore Ts'oa29f4d31997-04-29 21:26:48 +0000190 $(top_srcdir)/lib/ext2fs/bitops.h
Theodore Ts'o62c06f71997-04-29 14:34:47 +0000191dirinfo.o: $(srcdir)/dirinfo.c $(top_srcdir)/lib/et/com_err.h \
Theodore Ts'oa29f4d31997-04-29 21:26:48 +0000192 $(srcdir)/e2fsck.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
193 $(top_srcdir)/lib/ext2fs/io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
194 $(top_srcdir)/lib/ext2fs/bitops.h
195ehandler.o: $(srcdir)/ehandler.c $(srcdir)/e2fsck.h \
Theodore Ts'o62c06f71997-04-29 14:34:47 +0000196 $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/et/com_err.h \
197 $(top_srcdir)/lib/ext2fs/io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
Theodore Ts'oa29f4d31997-04-29 21:26:48 +0000198 $(top_srcdir)/lib/ext2fs/bitops.h
199problem.o: $(srcdir)/problem.c $(srcdir)/e2fsck.h \
Theodore Ts'o21c84b71997-04-29 16:15:03 +0000200 $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/et/com_err.h \
201 $(top_srcdir)/lib/ext2fs/io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
202 $(top_srcdir)/lib/ext2fs/bitops.h $(srcdir)/problem.h
Theodore Ts'o2ecc6fe1997-04-29 17:57:00 +0000203