blob: fd4e6e28dd20fdfa5abe9543d87e62ee026b24c8 [file] [log] [blame]
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001#
2# Makefile for lib/et
3#
4
5srcdir = @srcdir@
6top_srcdir = @top_srcdir@
7VPATH = @srcdir@
8top_builddir = ../..
Theodore Ts'oe5fa0e31998-04-01 02:18:45 +00009my_dir = lib/et
Theodore Ts'o50e1e101997-04-26 13:58:21 +000010INSTALL = @INSTALL@
11
Theodore Ts'oe5fa0e31998-04-01 02:18:45 +000012DEP_MAKEFILE = $(DEP_LIB_MAKEFILES)
13
Theodore Ts'o50e1e101997-04-26 13:58:21 +000014@MCONFIG@
15
Theodore Ts'oe6441862005-01-26 12:59:25 -050016all:: compile_et com_err.pc
Theodore Ts'o50e1e101997-04-26 13:58:21 +000017
Theodore Ts'od0355092003-05-05 23:07:32 -040018OBJS= error_message.o et_name.o init_et.o com_err.o com_right.o
Theodore Ts'o50e1e101997-04-26 13:58:21 +000019SRCS = $(srcdir)/error_message.c $(srcdir)/et_name.c $(srcdir)/init_et.c \
Theodore Ts'od0355092003-05-05 23:07:32 -040020 $(srcdir)/com_err.c $(srcdir)/com_right.c
Theodore Ts'o50e1e101997-04-26 13:58:21 +000021
22HFILES= com_err.h
Theodore Ts'oe5fa0e31998-04-01 02:18:45 +000023SHARE_FILES= et_c.awk et_h.awk
Theodore Ts'o50e1e101997-04-26 13:58:21 +000024
25LIBRARY= libcom_err
26LIBDIR= et
27
Theodore Ts'o813bde12003-05-13 23:53:20 -040028ELF_VERSION = 2.1
Theodore Ts'o297f47a1997-04-26 14:25:20 +000029ELF_SO_VERSION = 2
Theodore Ts'o50e1e101997-04-26 13:58:21 +000030ELF_IMAGE = libcom_err
31ELF_MYDIR = et
Theodore Ts'oe5fa0e31998-04-01 02:18:45 +000032ELF_INSTALL_DIR = $(root_libdir)
Theodore Ts'od7f45af2008-09-12 10:15:26 -040033ELF_OTHER_LIBS = @SEM_INIT_LIB@
Theodore Ts'o50e1e101997-04-26 13:58:21 +000034
Theodore Ts'o813bde12003-05-13 23:53:20 -040035BSDLIB_VERSION = 1.1
Theodore Ts'o50e1e101997-04-26 13:58:21 +000036BSDLIB_IMAGE = libcom_err
37BSDLIB_MYDIR = et
Theodore Ts'oe5fa0e31998-04-01 02:18:45 +000038BSDLIB_INSTALL_DIR = $(root_libdir)
Theodore Ts'o50e1e101997-04-26 13:58:21 +000039
40#
41# what to build...
42#
43.c.o:
Theodore Ts'oc13351f2009-07-02 00:11:17 -040044 $(E) " CC $<"
45 $(Q) $(CC) $(ALL_CFLAGS) -c $< -o $@
Darrick J. Wong832cb612013-10-11 23:02:12 -040046 $(Q) $(CHECK_CMD) $(ALL_CFLAGS) $<
Theodore Ts'oc13351f2009-07-02 00:11:17 -040047@PROFILE_CMT@ $(Q) $(CC) $(ALL_CFLAGS) -g -pg -o profiled/$*.o -c $<
48@CHECKER_CMT@ $(Q) $(CC) $(ALL_CFLAGS) -checker -g -o checker/$*.o -c $<
49@ELF_CMT@ $(Q) $(CC) $(ALL_CFLAGS) -fPIC -o elfshared/$*.o -c $<
50@BSDLIB_CMT@ $(Q) $(CC) $(ALL_CFLAGS) $(BSDLIB_PIC_FLAG) -o pic/$*.o -c $<
Theodore Ts'o50e1e101997-04-26 13:58:21 +000051
52@MAKEFILE_LIBRARY@
Theodore Ts'o50e1e101997-04-26 13:58:21 +000053@MAKEFILE_ELF@
54@MAKEFILE_BSDLIB@
55@MAKEFILE_PROFILE@
56@MAKEFILE_CHECKER@
57
Theodore Ts'o44339bd1997-10-15 02:47:20 +000058compile_et: $(DEP_SUBSTITUTE) $(srcdir)/compile_et.sh.in
Theodore Ts'oc13351f2009-07-02 00:11:17 -040059 $(E) " SUBST $@"
60 $(Q) $(SUBSTITUTE) $(srcdir)/compile_et.sh.in compile_et
61 $(Q) $(CHMOD) +x compile_et
Theodore Ts'o50e1e101997-04-26 13:58:21 +000062
Theodore Ts'occfedb12013-01-02 10:06:09 -050063DVI=texi2dvi
64DVIPS=dvips -o "$@"
65INFO=@MAKEINFO@
66HTML=texi2html -split_chapter
67PS2PDF=ps2pdf
68
Theodore Ts'o50e1e101997-04-26 13:58:21 +000069com_err.ps : com_err.dvi
70com_err.dvi: com_err.texinfo
71
Theodore Ts'occfedb12013-01-02 10:06:09 -050072com_err.info: $(srcdir)/com_err.texinfo
73 $(E) " MAKEINFO $@"
74 -$(Q) $(INFO) $(srcdir)/com_err.texinfo
75
76com_err.dvi: $(srcdir)/com_err.texinfo
77 $(E) " TEXI2DVI $@"
78 -$(Q) $(DVI) $(srcdir)/com_err.texinfo
79
80com_err.ps: com_err.dvi
81 $(E) " DVIPS $@"
82 -$(Q) $(DVIPS) com_err.dvi
83
84com_err.pdf: com_err.ps
85 $(E) " PS2PDF $@"
86 -$(Q) $(PS2PDF) com_err.ps
87
Theodore Ts'o4534f8b2009-11-29 20:19:10 -050088com_err_abt.html: $(srcdir)/com_err.texinfo
89 $(E) " TEXI2HTML $@"
Theodore Ts'occfedb12013-01-02 10:06:09 -050090 -$(Q) $(HTML) $(srcdir)/com_err.texinfo
Theodore Ts'o4534f8b2009-11-29 20:19:10 -050091 -$(Q) if test -d com_err ; then \
92 mv com_err/* . ; rmdir com_err ; \
93 fi
94
Theodore Ts'oe6441862005-01-26 12:59:25 -050095com_err.pc: $(srcdir)/com_err.pc.in $(top_builddir)/config.status
Theodore Ts'oc13351f2009-07-02 00:11:17 -040096 $(E) " CONFIG.STATUS $@"
97 $(Q) cd $(top_builddir); CONFIG_FILES=lib/et/com_err.pc ./config.status
Theodore Ts'oe6441862005-01-26 12:59:25 -050098
Theodore Ts'o50e1e101997-04-26 13:58:21 +000099#libcom_err.o: $(LIBOBJS)
100# $(LD) -r -s -o libcom_err.o $(LIBOBJS)
101# chmod -x libcom_err.o
102
103TAGS: $(SRCS)
104 $(TAGS) $(SRCS)
105
106installdirs::
Theodore Ts'oc13351f2009-07-02 00:11:17 -0400107 $(E) " MKINSTALLDIRS $(libdir) $(includedir)/et $(datadir)/et $(bindir) $(man1dir) $(man3dir)"
108 $(Q) $(MKINSTALLDIRS) $(DESTDIR)$(libdir) \
Theodore Ts'oe5fa0e31998-04-01 02:18:45 +0000109 $(DESTDIR)$(includedir)/et $(DESTDIR)$(datadir)/et \
110 $(DESTDIR)$(bindir) $(DESTDIR)$(man1dir) \
Theodore Ts'oe6441862005-01-26 12:59:25 -0500111 $(DESTDIR)$(man3dir) $(DESTDIR)$(libdir)/pkgconfig
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000112
Theodore Ts'oe6441862005-01-26 12:59:25 -0500113install:: compile_et libcom_err.a $(HFILES) installdirs com_err.pc
Theodore Ts'oc13351f2009-07-02 00:11:17 -0400114 $(E) " INSTALL_DATA $(libdir)/libcom_err.a"
115 $(Q) $(INSTALL_DATA) libcom_err.a $(DESTDIR)$(libdir)/libcom_err.a
116 -$(Q) $(RANLIB) $(DESTDIR)$(libdir)/libcom_err.a
117 $(Q) $(CHMOD) $(LIBMODE) $(DESTDIR)$(libdir)/libcom_err.a
118 $(Q) for i in $(HFILES); do \
Theodore Ts'o522798d2004-12-15 11:28:55 -0500119 echo " INSTALL_DATA $(includedir)/et/$$i"; \
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000120 $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(includedir)/et/$$i; \
121 done
Theodore Ts'o1e082c62011-06-04 11:24:18 -0400122 $(Q) (cd $(DESTDIR)$(includedir) ;\
123 $(LN) $(LINK_INSTALL_FLAGS) et/com_err.h . )
Theodore Ts'oc13351f2009-07-02 00:11:17 -0400124 $(Q) for i in $(SHARE_FILES); do \
Theodore Ts'o522798d2004-12-15 11:28:55 -0500125 echo " INSTALL_DATA $(datadir)/et/$$i"; \
Theodore Ts'oe5fa0e31998-04-01 02:18:45 +0000126 $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(datadir)/et/$$i; \
127 done
Theodore Ts'oc13351f2009-07-02 00:11:17 -0400128 $(E) " INSTALL_SCRIPT $(bindir)/compile_et"
129 $(Q) $(INSTALL_SCRIPT) compile_et $(DESTDIR)$(bindir)/compile_et
130 $(E) " INSTALL_DATA $(man3dir)/com_err.3"
131 $(Q) $(INSTALL_DATA) $(srcdir)/com_err.3 $(DESTDIR)$(man3dir)/com_err.3
132 $(E) " INSTALL_DATA $(man1dir)/compile_et.1"
133 $(Q) $(INSTALL_DATA) $(srcdir)/compile_et.1 \
Theodore Ts'oe5fa0e31998-04-01 02:18:45 +0000134 $(DESTDIR)$(man1dir)/compile_et.1
Theodore Ts'oc13351f2009-07-02 00:11:17 -0400135 $(E) " INSTALL_DATA $(libdir)/pkgconfig/com_err.pc"
136 $(Q) $(INSTALL_DATA) com_err.pc $(DESTDIR)$(libdir)/pkgconfig/com_err.pc
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000137
138uninstall::
Theodore Ts'oe5fa0e31998-04-01 02:18:45 +0000139 $(RM) -f $(DESTDIR)$(libdir)/libcom_err.a \
Theodore Ts'oe6441862005-01-26 12:59:25 -0500140 $(DESTDIR)$(bindir)/compile_et \
141 $(DESTDIR)$(libdir)/pkgconfig/com_err.pc
Theodore Ts'oe5fa0e31998-04-01 02:18:45 +0000142 $(RM) -rf $(DESTDIR)$(includedir)/et $(DESTDIR)$(datadir)/et
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000143
Theodore Ts'ob16fb622003-05-05 20:02:39 -0400144check:: compile_et
145 for i in $(srcdir)/test_cases/*.et ; do \
146 t=`basename $$i | sed -e 's/.et//'`; \
147 ./compile_et --build-tree $$i ; \
148 diff -c $(srcdir)/test_cases/$$t.c $$t.c > $$t.failed; \
149 if [ $$? -ne 0 ]; then echo Test case $$t failed; exit 1 ; fi ; \
150 diff -c $(srcdir)/test_cases/$$t.h $$t.h >> $$t.failed; \
151 if [ $$? -ne 0 ]; then echo Test case $$t failed; exit 1 ; fi ; \
152 $(RM) -f $$t.c $$t.h $$t.failed; \
153 echo "Test case $$t succeeded" ; \
154 done
155
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000156clean::
Theodore Ts'o51bc0842003-08-20 12:54:31 -0400157 $(RM) -f compile_et libcom_err.a libcom_err_p.a com_err.info
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000158 $(RM) -f $(OBJS) profiled/*
Theodore Ts'occfedb12013-01-02 10:06:09 -0500159 $(RM) -f *~ \#* *.bak *.otl *.aux *.toc *.PS *.dvi *.ps TAGS *.ln \
160 *.html *.cp *.fn *.fns *.ky *.log *.pc *.pg *.toc *.tp *.vr \
161 *.pdf
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000162 $(RM) -f ../libcom_err.a ../libcom_err_p.a
Theodore Ts'o51bc0842003-08-20 12:54:31 -0400163
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000164mostlyclean:: clean
165distclean:: clean
Theodore Ts'ob7aa0d62005-02-05 15:48:49 -0500166 $(RM) -f .depend Makefile com_err.pc \
167 $(srcdir)/TAGS $(srcdir)/Makefile.in.old
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000168
Theodore Ts'o3ded50b2005-12-10 22:23:01 -0500169$(OBJS): subdirs
170
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000171# +++ Dependency line eater +++
172#
173# Makefile dependencies follow. This must be the last section in
174# the Makefile.in file
175#
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400176error_message.o: $(srcdir)/error_message.c $(top_builddir)/lib/config.h \
177 $(top_builddir)/lib/dirpaths.h $(srcdir)/com_err.h $(srcdir)/error_table.h \
Theodore Ts'o27401561999-09-14 20:11:19 +0000178 $(srcdir)/internal.h
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400179et_name.o: $(srcdir)/et_name.c $(top_builddir)/lib/config.h \
180 $(top_builddir)/lib/dirpaths.h $(srcdir)/com_err.h $(srcdir)/error_table.h \
Theodore Ts'o27401561999-09-14 20:11:19 +0000181 $(srcdir)/internal.h
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400182init_et.o: $(srcdir)/init_et.c $(top_builddir)/lib/config.h \
183 $(top_builddir)/lib/dirpaths.h $(srcdir)/com_err.h $(srcdir)/error_table.h
184com_err.o: $(srcdir)/com_err.c $(top_builddir)/lib/config.h \
185 $(top_builddir)/lib/dirpaths.h $(srcdir)/com_err.h $(srcdir)/error_table.h \
186 $(srcdir)/internal.h
187com_right.o: $(srcdir)/com_right.c $(top_builddir)/lib/config.h \
188 $(top_builddir)/lib/dirpaths.h $(srcdir)/com_err.h $(srcdir)/error_table.h