blob: 82acdb9ab02356d3bec64a3fae7259bb47d623fe [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
Theodore Ts'o8bf191e1997-10-20 01:38:32 +000017XTRA_CFLAGS= -DRESOURCE_TRACK
Theodore Ts'o50e1e101997-04-26 13:58:21 +000018
Theodore Ts'o1e3472c1997-04-29 14:53:37 +000019LIBS= $(LIBEXT2FS) $(LIBCOM_ERR) $(LIBUUID)
20DEPLIBS= $(LIBEXT2FS) $(LIBCOM_ERR) $(LIBUUID)
Theodore Ts'o62c06f71997-04-29 14:34:47 +000021
Theodore Ts'o1e3472c1997-04-29 14:53:37 +000022STATIC_LIBS= $(STATIC_LIBEXT2FS) $(STATIC_LIBCOM_ERR) $(STATIC_LIBUUID)
23STATIC_DEPLIBS= $(STATIC_LIBEXT2FS) $(STATIC_LIBCOM_ERR) $(STATIC_LIBUUID)
Theodore Ts'o62c06f71997-04-29 14:34:47 +000024
Theodore Ts'o1e3472c1997-04-29 14:53:37 +000025PROFILED_LIBS= $(PROFILED_LIBEXT2FS) $(PROFILED_LIBCOM_ERR) $(PROFILED_LIBUUID)
26PROFILED_DEPLIBS= $(PROFILED_LIBEXT2FS) $(PROFILED_LIBCOM_ERR) $(PROFILED_LIBUUID)
Theodore Ts'o50e1e101997-04-26 13:58:21 +000027
28.c.o:
Theodore Ts'o74becf31997-04-26 14:37:06 +000029 $(CC) -c $(ALL_CFLAGS) $< -o $@
Theodore Ts'o21c84b71997-04-29 16:15:03 +000030@PROFILE_CMT@ $(CC) $(ALL_CFLAGS) -g -pg -o profiled/$*.o -c $<
Theodore Ts'o50e1e101997-04-26 13:58:21 +000031
32#
33# Flags for using Checker
34# Note: The optimization flags must include -g
35#
36#MCHECK= -checker
Theodore Ts'o62c06f71997-04-29 14:34:47 +000037#LIBS= $(LIBCOM_ERR) $(LIB_EXT2FS) $(CHECKLIB)
38#DEPLIBS= $(LIBCOM_ERR) $(LIB_EXT2FS)
Theodore Ts'o50e1e101997-04-26 13:58:21 +000039#CHECKLIB= /usr/lib/libchecker.o
40
41#
42# Flags for doing mtrace --- uncomment to produce mtracing e2fsck
43# Note: The optimization flags must include -g
44#
45#MTRACE= -DMTRACE
46#MTRACE_OBJ= mtrace.o
47#MTRACE_SRC= $(srcdir)/mtrace.c
48#OPT= -g
49
50#
51# Flags for doing mcheck --- uncomment to produce mchecking e2fsck
52# Note: The optimization flags must include -g
53#
54#MCHECK= -DMCHECK
55
Theodore Ts'o1b6bf171997-10-03 17:48:10 +000056OBJS= unix.o e2fsck.o super.o pass1.o pass1b.o pass2.o pass3.o pass4.o \
57 pass5.o swapfs.o badblocks.o util.o dirinfo.o ehandler.o \
58 problem.o message.o $(MTRACE_OBJ)
Theodore Ts'o50e1e101997-04-26 13:58:21 +000059
Theodore Ts'o1b6bf171997-10-03 17:48:10 +000060PROFILED_OBJS= profiled/unix.o profiled/e2fsck.o profiled/super.o \
61 profiled/pass1.o profiled/pass1b.o \
Theodore Ts'o62c06f71997-04-29 14:34:47 +000062 profiled/pass2.o profiled/pass3.o profiled/pass4.o profiled/pass5.o \
63 profiled/badblocks.o profiled/util.o profiled/dirinfo.o \
Theodore Ts'o21c84b71997-04-29 16:15:03 +000064 profiled/ehandler.o profiled/message.o profiled/problem.o \
65 profiled/swapfs.o
Theodore Ts'o62c06f71997-04-29 14:34:47 +000066
Theodore Ts'o50e1e101997-04-26 13:58:21 +000067SRCS= $(srcdir)/e2fsck.c \
Theodore Ts'o1b6bf171997-10-03 17:48:10 +000068 $(srcdir)/super.c \
Theodore Ts'o50e1e101997-04-26 13:58:21 +000069 $(srcdir)/pass1.c \
70 $(srcdir)/pass1b.c \
71 $(srcdir)/pass2.c \
72 $(srcdir)/pass3.c \
73 $(srcdir)/pass4.c \
74 $(srcdir)/pass5.c \
75 $(srcdir)/badblocks.c \
76 $(srcdir)/util.c \
Theodore Ts'o1b6bf171997-10-03 17:48:10 +000077 $(srcdir)/unix.c \
Theodore Ts'o50e1e101997-04-26 13:58:21 +000078 $(srcdir)/dirinfo.c \
79 $(srcdir)/ehandler.c \
Theodore Ts'o21c84b71997-04-29 16:15:03 +000080 $(srcdir)/problem.c \
Theodore Ts'o50e1e101997-04-26 13:58:21 +000081 $(MTRACE_SRC)
82
Theodore Ts'o1e3472c1997-04-29 14:53:37 +000083all:: profiled $(PROGS) e2fsck.static e2fsck.shared $(MANPAGES)
Theodore Ts'o50e1e101997-04-26 13:58:21 +000084
Theodore Ts'o62c06f71997-04-29 14:34:47 +000085@PROFILE_CMT@all:: e2fsck.profiled
86
87e2fsck: e2fsck.@E2FSCK_TYPE@
88 $(CP) e2fsck.@E2FSCK_TYPE@ e2fsck
89
90e2fsck.static: $(OBJS) $(STATIC_DEPLIBS)
91 $(LD) $(ALL_LDFLAGS) $(LDFLAG_STATIC) -o e2fsck.static $(OBJS) \
92 $(STATIC_LIBS)
93
94e2fsck.shared: $(OBJS) $(DEPLIBS)
95 $(LD) $(ALL_LDFLAGS) -o e2fsck.shared $(OBJS) $(LIBS)
96
Theodore Ts'o21c84b71997-04-29 16:15:03 +000097e2fsck.profiled: $(PROFILED_OBJS) $(PROFILED_DEPLIBS)
98 $(LD) $(ALL_LDFLAGS) -g -pg -o e2fsck.profiled $(PROFILED_OBJS) \
Theodore Ts'o62c06f71997-04-29 14:34:47 +000099 $(PROFILED_LIBS)
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000100
101extend: extend.o
Theodore Ts'o74becf31997-04-26 14:37:06 +0000102 $(LD) $(ALL_LDFLAGS) -o extend extend.o $(CHECKLIB)
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000103
104flushb: flushb.o
Theodore Ts'o74becf31997-04-26 14:37:06 +0000105 $(LD) $(ALL_LDFLAGS) -o flushb flushb.o $(CHECKLIB)
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000106
107iscan: iscan.o util.o
Theodore Ts'o74becf31997-04-26 14:37:06 +0000108 $(LD) $(ALL_LDFLAGS) -o iscan iscan.o util.o ehandler.o $(LIBS)
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000109
Theodore Ts'o62c06f71997-04-29 14:34:47 +0000110profiled:
111 mkdir profiled
112
Theodore Ts'o44339bd1997-10-15 02:47:20 +0000113e2fsck.8: $(DEP_SUBSTITUTE) $(srcdir)/e2fsck.8.in
Theodore Ts'o62c06f71997-04-29 14:34:47 +0000114 $(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'o08b21301997-11-03 19:42:40 +0000154 $(srcdir)/e2fsck.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
155 $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
156 $(top_srcdir)/lib/ext2fs/bitops.h $(srcdir)/problem.h
157super.o: $(srcdir)/super.c $(top_srcdir)/lib/uuid/uuid.h $(srcdir)/e2fsck.h \
158 $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/et/com_err.h \
Theodore Ts'od40259f1997-10-20 00:44:26 +0000159 $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
Theodore Ts'o21c84b71997-04-29 16:15:03 +0000160 $(top_srcdir)/lib/ext2fs/bitops.h $(srcdir)/problem.h \
161 $(srcdir)/../version.h
Theodore Ts'o08b21301997-11-03 19:42:40 +0000162pass1.o: $(srcdir)/pass1.c $(srcdir)/e2fsck.h \
163 $(top_srcdir)/lib/ext2fs/ext2fs.h \
164 $(top_srcdir)/lib/et/com_err.h \
Theodore Ts'od40259f1997-10-20 00:44:26 +0000165 $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
Theodore Ts'o21c84b71997-04-29 16:15:03 +0000166 $(top_srcdir)/lib/ext2fs/bitops.h $(srcdir)/problem.h
Theodore Ts'oa29f4d31997-04-29 21:26:48 +0000167pass1b.o: $(srcdir)/pass1b.c $(top_srcdir)/lib/et/com_err.h \
168 $(srcdir)/e2fsck.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
Theodore Ts'od40259f1997-10-20 00:44:26 +0000169 $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
Theodore Ts'o21c84b71997-04-29 16:15:03 +0000170 $(top_srcdir)/lib/ext2fs/bitops.h $(srcdir)/problem.h
Theodore Ts'o08b21301997-11-03 19:42:40 +0000171pass2.o: $(srcdir)/pass2.c $(srcdir)/e2fsck.h \
172 $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/et/com_err.h \
173 $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
174 $(top_srcdir)/lib/ext2fs/bitops.h $(srcdir)/problem.h
175pass3.o: $(srcdir)/pass3.c $(srcdir)/e2fsck.h \
176 $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/et/com_err.h \
Theodore Ts'od40259f1997-10-20 00:44:26 +0000177 $(top_srcdir)/lib/ext2fs/ext2_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
Theodore Ts'o62c06f71997-04-29 14:34:47 +0000179pass4.o: $(srcdir)/pass4.c $(srcdir)/e2fsck.h \
180 $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/et/com_err.h \
Theodore Ts'od40259f1997-10-20 00:44:26 +0000181 $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
Theodore Ts'o21c84b71997-04-29 16:15:03 +0000182 $(top_srcdir)/lib/ext2fs/bitops.h $(srcdir)/problem.h
Theodore Ts'o08b21301997-11-03 19:42:40 +0000183pass5.o: $(srcdir)/pass5.c $(srcdir)/e2fsck.h \
184 $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/et/com_err.h \
Theodore Ts'od40259f1997-10-20 00:44:26 +0000185 $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
Theodore Ts'o08b21301997-11-03 19:42:40 +0000186 $(top_srcdir)/lib/ext2fs/bitops.h $(srcdir)/problem.h
Theodore Ts'oa29f4d31997-04-29 21:26:48 +0000187badblocks.o: $(srcdir)/badblocks.c $(top_srcdir)/lib/et/com_err.h \
188 $(srcdir)/e2fsck.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
Theodore Ts'od40259f1997-10-20 00:44:26 +0000189 $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
Theodore Ts'oa29f4d31997-04-29 21:26:48 +0000190 $(top_srcdir)/lib/ext2fs/bitops.h
191util.o: $(srcdir)/util.c $(srcdir)/e2fsck.h \
Theodore Ts'o62c06f71997-04-29 14:34:47 +0000192 $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/et/com_err.h \
Theodore Ts'od40259f1997-10-20 00:44:26 +0000193 $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
Theodore Ts'o08b21301997-11-03 19:42:40 +0000194 $(top_srcdir)/lib/ext2fs/bitops.h
195unix.o: $(srcdir)/unix.c $(top_srcdir)/lib/et/com_err.h \
196 $(srcdir)/e2fsck.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
197 $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
198 $(top_srcdir)/lib/ext2fs/bitops.h $(srcdir)/problem.h \
199 $(srcdir)/../version.h
Theodore Ts'o62c06f71997-04-29 14:34:47 +0000200dirinfo.o: $(srcdir)/dirinfo.c $(top_srcdir)/lib/et/com_err.h \
Theodore Ts'oa29f4d31997-04-29 21:26:48 +0000201 $(srcdir)/e2fsck.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
Theodore Ts'od40259f1997-10-20 00:44:26 +0000202 $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
Theodore Ts'oa29f4d31997-04-29 21:26:48 +0000203 $(top_srcdir)/lib/ext2fs/bitops.h
204ehandler.o: $(srcdir)/ehandler.c $(srcdir)/e2fsck.h \
Theodore Ts'o62c06f71997-04-29 14:34:47 +0000205 $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/et/com_err.h \
Theodore Ts'od40259f1997-10-20 00:44:26 +0000206 $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
Theodore Ts'o08b21301997-11-03 19:42:40 +0000207 $(top_srcdir)/lib/ext2fs/bitops.h
Theodore Ts'oa29f4d31997-04-29 21:26:48 +0000208problem.o: $(srcdir)/problem.c $(srcdir)/e2fsck.h \
Theodore Ts'o21c84b71997-04-29 16:15:03 +0000209 $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/et/com_err.h \
Theodore Ts'od40259f1997-10-20 00:44:26 +0000210 $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
Theodore Ts'o21c84b71997-04-29 16:15:03 +0000211 $(top_srcdir)/lib/ext2fs/bitops.h $(srcdir)/problem.h