blob: 0999ebd1a4ff017432c20e6149c86be0af78ac2d [file] [log] [blame]
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001#
2# Makefile for lib/ss
3#
4
5srcdir = @srcdir@
6top_srcdir = @top_srcdir@
7VPATH = @srcdir@
8top_builddir = ../..
Theodore Ts'o1e3472c1997-04-29 14:53:37 +00009my_dir = lib/ss
Theodore Ts'o50e1e101997-04-26 13:58:21 +000010INSTALL = @INSTALL@
Theodore Ts'o3ae497e2003-03-16 06:26:25 -050011DLOPEN_LIB = @DLOPEN_LIB@
Theodore Ts'o50e1e101997-04-26 13:58:21 +000012
13@MCONFIG@
14
15LIBRARY= libss
16LIBDIR= ss
17
18DLL_ADDRESS = 0x66880000
19DLL_JUMPSIZE = 0x1000
20DLL_GOTSIZE = 0x1000
21DLL_VERSION = 1.0
22DLL_IMAGE = libss
23DLL_STUB = libss
Theodore Ts'o3ae497e2003-03-16 06:26:25 -050024DLL_LIBS = -L../.. -lcom_err $(DLOPEN_LIB)
Theodore Ts'o50e1e101997-04-26 13:58:21 +000025DLL_MYDIR = ss
Theodore Ts'oe5fa0e31998-04-01 02:18:45 +000026DLL_INSTALL_DIR = $(root_libdir)
Theodore Ts'o50e1e101997-04-26 13:58:21 +000027
28ELF_VERSION = 2.0
Theodore Ts'o297f47a1997-04-26 14:25:20 +000029ELF_SO_VERSION = 2
Theodore Ts'o50e1e101997-04-26 13:58:21 +000030ELF_IMAGE = libss
31ELF_MYDIR = ss
Theodore Ts'oe5fa0e31998-04-01 02:18:45 +000032ELF_INSTALL_DIR = $(root_libdir)
Theodore Ts'o3ae497e2003-03-16 06:26:25 -050033ELF_OTHER_LIBS = -L../.. -lcom_err $(DLOPEN_LIB)
Theodore Ts'o50e1e101997-04-26 13:58:21 +000034
35BSDLIB_VERSION = 1.0
36BSDLIB_IMAGE = libss
37BSDLIB_MYDIR = ss
Theodore Ts'oe5fa0e31998-04-01 02:18:45 +000038BSDLIB_INSTALL_DIR = $(root_libdir)
Theodore Ts'o50e1e101997-04-26 13:58:21 +000039
40TAGS=etags
Theodore Ts'o91835c12003-03-30 22:26:13 -050041COMPILE_ET=../et/compile_et --build-tree
Theodore Ts'o1f00aaf2000-07-04 12:34:34 +000042MK_CMDS=_SS_DIR_OVERRIDE=. ./mk_cmds
Theodore Ts'o50e1e101997-04-26 13:58:21 +000043
44# -I.. is so that ss/ss_err.h works
45# -I$(srcdir)/.. is so that ss/ss.h works
46# -I$(srcdir)/../et is so com_err.h works
Theodore Ts'o91835c12003-03-30 22:26:13 -050047XTRA_CFLAGS= -I$(srcdir)/../et
Theodore Ts'o50e1e101997-04-26 13:58:21 +000048
49.c.o:
Theodore Ts'o74becf31997-04-26 14:37:06 +000050 $(CC) $(ALL_CFLAGS) -c $<
Theodore Ts'o19c78dc1997-04-29 16:17:09 +000051@PROFILE_CMT@ $(CC) $(ALL_CFLAGS) -g -pg -o profiled/$*.o -c $<
Theodore Ts'o74becf31997-04-26 14:37:06 +000052@CHECKER_CMT@ $(CC) $(ALL_CFLAGS) -checker -g -o checker/$*.o -c $<
53@DLL_CMT@ (export JUMP_DIR=`pwd`/jump; $(CC) -B$(JUMP_PREFIX) \
54@DLL_CMT@ $(ALL_CFLAGS) -o jump/$*.o -c $<)
Theodore Ts'o3ae497e2003-03-16 06:26:25 -050055@ELF_CMT@ $(CC) $(ALL_CFLAGS) -DSHARED_ELF_LIB -fPIC -o elfshared/$*.o -c $<
Theodore Ts'o434661f2004-02-29 22:46:49 -050056@BSDLIB_CMT@ $(CC) $(ALL_CFLAGS) $(BSDLIB_PIC_FLAG) -o pic/$*.o -c $<
Theodore Ts'o50e1e101997-04-26 13:58:21 +000057
58# for the library
59
60LIB= libss.a
61
62# with ss_err.o first, ss_err.h should get rebuilt first too. should not
63# be relying on this, though.
64OBJS= ss_err.o \
65 std_rqs.o \
66 invocation.o help.o \
67 execute_cmd.o listen.o parse.o error.o prompt.o \
68 request_tbl.o list_rqs.o pager.o requests.o \
Theodore Ts'o3ae497e2003-03-16 06:26:25 -050069 data.o get_readline.o
Theodore Ts'o50e1e101997-04-26 13:58:21 +000070
71SRCS= $(srcdir)/invocation.c $(srcdir)/help.c \
72 $(srcdir)/execute_cmd.c $(srcdir)/listen.c $(srcdir)/parse.c \
73 $(srcdir)/error.c $(srcdir)/prompt.c $(srcdir)/request_tbl.c \
74 $(srcdir)/list_rqs.c $(srcdir)/pager.c $(srcdir)/requests.c \
Theodore Ts'o3ae497e2003-03-16 06:26:25 -050075 $(srcdir)/data.c $(srcdir)/get_readline.c
Theodore Ts'o50e1e101997-04-26 13:58:21 +000076
77all:: mk_cmds
78
79@MAKEFILE_LIBRARY@
80@MAKEFILE_DLL@
81@MAKEFILE_ELF@
82@MAKEFILE_BSDLIB@
83@MAKEFILE_PROFILE@
84@MAKEFILE_CHECKER@
85
86CODE= $(SRCS) $(MKCMDSFILES)
87
88MKCMDSOBJS= mk_cmds.o utils.o options.o ct.tab.o cmd_tbl.lex.o
89
90MKCMDSFILES= mk_cmds.c utils.c options.c ct.y cmd_tbl.lex.l
91
92MKCMDSCSRCS= mk_cmds.c utils.c options.c ct.tab.c cmd_tbl.lex.c
93
94
Theodore Ts'o27401561999-09-14 20:11:19 +000095HFILES= ss.h ss_internal.h
Theodore Ts'oe5fa0e31998-04-01 02:18:45 +000096SHARE_FILES= ct_c.awk ct_c.sed
Theodore Ts'o62c06f71997-04-29 14:34:47 +000097
Theodore Ts'o27401561999-09-14 20:11:19 +000098INSTALL_HFILES= ss.h
Theodore Ts'o50e1e101997-04-26 13:58:21 +000099
100# for 'tags' and dependencies
101
102CFILES= $(SRCS) $(MKCMDSCSRCS) test_ss.c
103
104# for building archives
105
106FILES= $(SRCS) $(MKCMDSFILES) $(HFILES) \
107 ss_err.et std_rqs.ct Makefile \
Theodore Ts'o27401561999-09-14 20:11:19 +0000108 test_ss.c ss
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000109
110all:: libss.a # libss_p.a lint
111
Theodore Ts'o1f00aaf2000-07-04 12:34:34 +0000112std_rqs.c: std_rqs.ct mk_cmds
Theodore Ts'oe5fa0e31998-04-01 02:18:45 +0000113 DIR=$(srcdir) $(MK_CMDS) $(srcdir)/std_rqs.ct
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000114
115ss_err.c ss_err.h: ss_err.et
116 $(COMPILE_ET) $(srcdir)/ss_err.et
117
118ct.tab.c ct.tab.h: ct.y
119 $(RM) -f ct.tab.* y.*
120 $(YACC) -d $(srcdir)/ct.y
121 $(MV) -f y.tab.c ct.tab.c
122 $(MV) -f y.tab.h ct.tab.h
123
124#libss.o: $(OBJS)
125# $(LD) -r -s -o $@ $(OBJS)
126# $(CHMOD) -x $@
127
Theodore Ts'o44339bd1997-10-15 02:47:20 +0000128mk_cmds: $(DEP_SUBSTITUTE) $(srcdir)/mk_cmds.sh.in
Theodore Ts'o62c06f71997-04-29 14:34:47 +0000129 $(SUBSTITUTE) $(srcdir)/mk_cmds.sh.in mk_cmds
130 $(CHMOD) +x mk_cmds
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000131
132installdirs::
Theodore Ts'oe5fa0e31998-04-01 02:18:45 +0000133 $(top_srcdir)/mkinstalldirs $(DESTDIR)$(libdir) \
134 $(DESTDIR)$(includedir)/ss $(DESTDIR)$(datadir)/ss \
135 $(DESTDIR)$(bindir)
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000136
Theodore Ts'o27401561999-09-14 20:11:19 +0000137install:: libss.a $(INSTALL_HFILES) installdirs ss_err.h mk_cmds
Theodore Ts'oe5fa0e31998-04-01 02:18:45 +0000138 $(INSTALL_DATA) libss.a $(DESTDIR)$(libdir)/libss.a
139 $(CHMOD) 644 $(DESTDIR)$(libdir)/libss.a
140 -$(RANLIB) $(DESTDIR)$(libdir)/libss.a
141 $(CHMOD) $(LIBMODE) $(DESTDIR)$(libdir)/libss.a
Theodore Ts'o7cf73dc1997-08-14 17:17:16 +0000142 $(RM) -f $(DESTDIR)$(includedir)/ss/*
Theodore Ts'o27401561999-09-14 20:11:19 +0000143 for i in $(INSTALL_HFILES); do \
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000144 $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(includedir)/ss/$$i; \
145 done
Theodore Ts'o5972d0d1997-06-07 03:45:08 +0000146 $(INSTALL_DATA) ss_err.h $(DESTDIR)$(includedir)/ss/ss_err.h
Theodore Ts'oe5fa0e31998-04-01 02:18:45 +0000147 for i in $(SHARE_FILES); do \
148 $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(datadir)/ss/$$i; \
149 done
150 $(INSTALL) mk_cmds $(DESTDIR)$(bindir)/mk_cmds
Theodore Ts'o6fe7d112003-03-16 19:58:25 -0500151 $(INSTALL_DATA) $(srcdir)/mk_cmds.1 $(DESTDIR)$(man1dir)/mk_cmds.1
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000152
153uninstall::
Theodore Ts'oe5fa0e31998-04-01 02:18:45 +0000154 $(RM) -f $(DESTDIR)$(libdir)/libss.a $(DESTDIR)$(bindir)/mk_cmds
155 $(RM) -rf $(DESTDIR)$(includedir)/ss $(DESTDIR)$(datadir)/ss
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000156
157clean::
Theodore Ts'o62c06f71997-04-29 14:34:47 +0000158 $(RM) -f ../libss.a libss.a mk_cmds ss_err.h ss_err.c std_rqs.c \
159 *.o *~ \#* *.bak core
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000160
161mostlyclean:: clean
162distclean:: clean
Theodore Ts'o5c36a2f1999-11-19 18:42:30 +0000163 $(RM) -f .depend Makefile $(srcdir)/TAGS $(srcdir)/Makefile.in.old
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000164
Theodore Ts'of0f4acb2000-05-25 23:22:11 +0000165#
166# Hack to parallel makes recognize dependencies correctly.
167#
168$(top_builddir)/lib/ss/ss_err.h: ss_err.h
169
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000170# +++ Dependency line eater +++
171#
172# Makefile dependencies follow. This must be the last section in
173# the Makefile.in file
174#
Theodore Ts'o62c06f71997-04-29 14:34:47 +0000175invocation.o: $(srcdir)/invocation.c $(srcdir)/ss_internal.h $(srcdir)/ss.h \
Theodore Ts'o72d272a2003-03-30 23:29:18 -0500176 $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h
Theodore Ts'o62c06f71997-04-29 14:34:47 +0000177help.o: $(srcdir)/help.c $(srcdir)/ss_internal.h $(srcdir)/ss.h \
Theodore Ts'o72d272a2003-03-30 23:29:18 -0500178 $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h
Theodore Ts'o6c133521999-07-03 20:37:03 +0000179execute_cmd.o: $(srcdir)/execute_cmd.c $(srcdir)/ss_internal.h $(srcdir)/ss.h \
Theodore Ts'o72d272a2003-03-30 23:29:18 -0500180 $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h
Theodore Ts'o27401561999-09-14 20:11:19 +0000181listen.o: $(srcdir)/listen.c $(srcdir)/ss_internal.h $(srcdir)/ss.h \
Theodore Ts'o72d272a2003-03-30 23:29:18 -0500182 $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h
Theodore Ts'o62c06f71997-04-29 14:34:47 +0000183parse.o: $(srcdir)/parse.c $(srcdir)/ss_internal.h $(srcdir)/ss.h \
Theodore Ts'o72d272a2003-03-30 23:29:18 -0500184 $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h
Theodore Ts'o0e8a9562000-12-09 06:41:25 +0000185error.o: $(srcdir)/error.c $(top_srcdir)/lib/et/com_err.h \
Theodore Ts'oc6df04b2003-07-23 09:53:06 -0400186 $(srcdir)/ss_internal.h $(srcdir)/ss.h $(top_builddir)/lib/ss/ss_err.h
Theodore Ts'o27401561999-09-14 20:11:19 +0000187prompt.o: $(srcdir)/prompt.c $(srcdir)/ss_internal.h $(srcdir)/ss.h \
Theodore Ts'o72d272a2003-03-30 23:29:18 -0500188 $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h
Theodore Ts'o27401561999-09-14 20:11:19 +0000189request_tbl.o: $(srcdir)/request_tbl.c $(srcdir)/ss_internal.h $(srcdir)/ss.h \
Theodore Ts'o72d272a2003-03-30 23:29:18 -0500190 $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h
Theodore Ts'o27401561999-09-14 20:11:19 +0000191list_rqs.o: $(srcdir)/list_rqs.c $(srcdir)/ss_internal.h $(srcdir)/ss.h \
Theodore Ts'o72d272a2003-03-30 23:29:18 -0500192 $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h
Theodore Ts'o62c06f71997-04-29 14:34:47 +0000193pager.o: $(srcdir)/pager.c $(srcdir)/ss_internal.h $(srcdir)/ss.h \
Theodore Ts'o72d272a2003-03-30 23:29:18 -0500194 $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h
Theodore Ts'o27401561999-09-14 20:11:19 +0000195requests.o: $(srcdir)/requests.c $(srcdir)/ss_internal.h $(srcdir)/ss.h \
Theodore Ts'o72d272a2003-03-30 23:29:18 -0500196 $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h
Theodore Ts'o62c06f71997-04-29 14:34:47 +0000197data.o: $(srcdir)/data.c $(srcdir)/ss_internal.h $(srcdir)/ss.h \
Theodore Ts'o72d272a2003-03-30 23:29:18 -0500198 $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h
Theodore Ts'o6cca7ba2003-03-16 20:21:16 -0500199get_readline.o: $(srcdir)/get_readline.c $(srcdir)/ss_internal.h \
Theodore Ts'o72d272a2003-03-30 23:29:18 -0500200 $(srcdir)/ss.h $(top_builddir)/lib/ss/ss_err.h \
201 $(top_srcdir)/lib/et/com_err.h