# # Makefile for lib/ss # srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ top_builddir = ../.. my_dir = lib/ss INSTALL = @INSTALL@ DLOPEN_LIB = @DLOPEN_LIB@ @MCONFIG@ LIBRARY= libss LIBDIR= ss ELF_VERSION = 2.0 ELF_SO_VERSION = 2 ELF_IMAGE = libss ELF_MYDIR = ss ELF_INSTALL_DIR = $(root_libdir) ELF_OTHER_LIBS = -L../.. -lcom_err $(DLOPEN_LIB) BSDLIB_VERSION = 1.0 BSDLIB_IMAGE = libss BSDLIB_MYDIR = ss BSDLIB_INSTALL_DIR = $(root_libdir) TAGS=etags COMPILE_ET=../et/compile_et --build-tree MK_CMDS=_SS_DIR_OVERRIDE=. ./mk_cmds # -I.. is so that ss/ss_err.h works # -I$(srcdir)/.. is so that ss/ss.h works # -I$(srcdir)/../et is so com_err.h works XTRA_CFLAGS= -I$(srcdir)/../et .c.o: @echo " CC $<" @$(CC) $(ALL_CFLAGS) -c $< @PROFILE_CMT@ @$(CC) $(ALL_CFLAGS) -g -pg -o profiled/$*.o -c $< @CHECKER_CMT@ @$(CC) $(ALL_CFLAGS) -checker -g -o checker/$*.o -c $< @ELF_CMT@ @$(CC) $(ALL_CFLAGS) -DSHARED_ELF_LIB -fPIC -o elfshared/$*.o -c $< @BSDLIB_CMT@ @$(CC) $(ALL_CFLAGS) $(BSDLIB_PIC_FLAG) -o pic/$*.o -c $< # for the library # with ss_err.o first, ss_err.h should get rebuilt first too. should not # be relying on this, though. OBJS= ss_err.o \ std_rqs.o \ invocation.o help.o \ execute_cmd.o listen.o parse.o error.o prompt.o \ request_tbl.o list_rqs.o pager.o requests.o \ data.o get_readline.o SRCS= $(srcdir)/invocation.c $(srcdir)/help.c \ $(srcdir)/execute_cmd.c $(srcdir)/listen.c $(srcdir)/parse.c \ $(srcdir)/error.c $(srcdir)/prompt.c $(srcdir)/request_tbl.c \ $(srcdir)/list_rqs.c $(srcdir)/pager.c $(srcdir)/requests.c \ $(srcdir)/data.c $(srcdir)/get_readline.c all:: mk_cmds @MAKEFILE_LIBRARY@ @MAKEFILE_ELF@ @MAKEFILE_BSDLIB@ @MAKEFILE_PROFILE@ @MAKEFILE_CHECKER@ CODE= $(SRCS) $(MKCMDSFILES) MKCMDSOBJS= mk_cmds.o utils.o options.o ct.tab.o cmd_tbl.lex.o MKCMDSFILES= mk_cmds.c utils.c options.c ct.y cmd_tbl.lex.l MKCMDSCSRCS= mk_cmds.c utils.c options.c ct.tab.c cmd_tbl.lex.c HFILES= ss.h ss_internal.h SHARE_FILES= ct_c.awk ct_c.sed INSTALL_HFILES= ss.h # for 'tags' and dependencies CFILES= $(SRCS) $(MKCMDSCSRCS) test_ss.c # for building archives FILES= $(SRCS) $(MKCMDSFILES) $(HFILES) \ ss_err.et std_rqs.ct Makefile \ test_ss.c ss all:: libss.a ss.pc # libss_p.a lint std_rqs.c: std_rqs.ct mk_cmds @echo " MK_CMDS $@" @DIR=$(srcdir) $(MK_CMDS) $(srcdir)/std_rqs.ct std_rqs.o: ss_err.h test_cmd.c: test_cmd.ct mk_cmds @echo " MK_CMDS $@" @DIR=$(srcdir) $(MK_CMDS) $(srcdir)/test_cmd.ct ss_err.c ss_err.h: ss_err.et @echo " COMPILE_ET ss_err.et" @$(COMPILE_ET) $(srcdir)/ss_err.et ct.tab.c ct.tab.h: ct.y $(RM) -f ct.tab.* y.* $(YACC) -d $(srcdir)/ct.y $(MV) -f y.tab.c ct.tab.c $(MV) -f y.tab.h ct.tab.h #libss.o: $(OBJS) # $(LD) -r -s -o $@ $(OBJS) # $(CHMOD) -x $@ mk_cmds: $(DEP_SUBSTITUTE) $(srcdir)/mk_cmds.sh.in @echo " SUBST $@" @$(SUBSTITUTE) $(srcdir)/mk_cmds.sh.in mk_cmds @$(CHMOD) +x mk_cmds ss.pc: $(srcdir)/ss.pc.in $(top_builddir)/config.status @echo " CONFIG.STATUS $@" @cd $(top_builddir); CONFIG_FILES=lib/ss/ss.pc ./config.status installdirs:: @echo " MKINSTALLDIRS $(libdir) $(includedir)/ss $(datadir)/ss $(bindir)" @$(MKINSTALLDIRS) $(DESTDIR)$(libdir) \ $(DESTDIR)$(includedir)/ss $(DESTDIR)$(datadir)/ss \ $(DESTDIR)$(bindir) $(DESTDIR)$(libdir)/pkgconfig install:: libss.a $(INSTALL_HFILES) installdirs ss_err.h mk_cmds ss.pc @echo " INSTALL_DATA $(DESTDIR)$(libdir)/libss.a" @$(INSTALL_DATA) libss.a $(DESTDIR)$(libdir)/libss.a @-$(RANLIB) $(DESTDIR)$(libdir)/libss.a @$(CHMOD) $(LIBMODE) $(DESTDIR)$(libdir)/libss.a @$(RM) -f $(DESTDIR)$(includedir)/ss/* @for i in $(INSTALL_HFILES); do \ echo " INSTALL_DATA $(DESTDIR)$(includedir)/ss/$$i"; \ $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(includedir)/ss/$$i; \ done @echo " INSTALL_DATA $(includedir)/ss/ss_err.h" @$(INSTALL_DATA) ss_err.h $(DESTDIR)$(includedir)/ss/ss_err.h @for i in $(SHARE_FILES); do \ echo " INSTALL_DATA $(DESTDIR)$(datadir)/ss/$$i"; \ $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(datadir)/ss/$$i; \ done @echo " INSTALL $(bindir)/mk_cmds" @$(INSTALL) mk_cmds $(DESTDIR)$(bindir)/mk_cmds @echo " INSTALL_DATA $(man1dir)/mk_cmds.1" @$(INSTALL_DATA) $(srcdir)/mk_cmds.1 $(DESTDIR)$(man1dir)/mk_cmds.1 @echo " INSTALL_DATA $(libdir)/pkgconfig/ss.pc" @$(INSTALL_DATA) ss.pc $(DESTDIR)$(libdir)/pkgconfig/ss.pc uninstall:: $(RM) -f $(DESTDIR)$(libdir)/libss.a $(DESTDIR)$(bindir)/mk_cmds \ $(DESTDIR)$(libdir)/pkgconfig/ss.pc \ $(DESTDIR)$(man1dir)/mk_cmds.1 $(RM) -rf $(DESTDIR)$(includedir)/ss $(DESTDIR)$(datadir)/ss test_ss: test_ss.o test_cmd.o $(LIBSS) $(LIBCOM_ERR) @echo " LD $@" @$(CC) -o $@ test_ss.o test_cmd.o $(ALL_CFLAGS) \ $(LIBSS) $(LIBCOM_ERR) check:: all test_ss @echo " RUN TEST test_ss" @(LD_LIBRARY_PATH=$(LIB) DYLD_LIBRARY_PATH=$(LIB) ./test_ss -f $(srcdir)/test_script >& test_out; exit 0) @if ! diff test_out $(srcdir)/test_script_expected > test.diff; then \ echo "Regression test for ss library failed!"; exit 1 ; fi clean:: $(RM) -f ../libss.a libss.a mk_cmds ss_err.h ss_err.c std_rqs.c \ tst_cmds.c test_ss test_out test.diff *.o *~ \#* *.bak core \ test_cmd.c mostlyclean:: clean distclean:: clean $(RM) -f .depend Makefile ss.pc \ $(srcdir)/TAGS $(srcdir)/Makefile.in.old # # Hack to parallel makes recognize dependencies correctly. # $(top_builddir)/lib/ss/ss_err.h: ss_err.h $(OBJS): subdirs # +++ Dependency line eater +++ # # Makefile dependencies follow. This must be the last section in # the Makefile.in file # invocation.o: $(srcdir)/invocation.c $(srcdir)/ss_internal.h $(srcdir)/ss.h \ $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h help.o: $(srcdir)/help.c $(srcdir)/ss_internal.h $(srcdir)/ss.h \ $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h execute_cmd.o: $(srcdir)/execute_cmd.c $(srcdir)/ss_internal.h $(srcdir)/ss.h \ $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h listen.o: $(srcdir)/listen.c $(srcdir)/ss_internal.h $(srcdir)/ss.h \ $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h parse.o: $(srcdir)/parse.c $(srcdir)/ss_internal.h $(srcdir)/ss.h \ $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h error.o: $(srcdir)/error.c $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ss_internal.h $(srcdir)/ss.h $(top_builddir)/lib/ss/ss_err.h \ $(top_srcdir)/lib/et/com_err.h prompt.o: $(srcdir)/prompt.c $(srcdir)/ss_internal.h $(srcdir)/ss.h \ $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h request_tbl.o: $(srcdir)/request_tbl.c $(srcdir)/ss_internal.h $(srcdir)/ss.h \ $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h list_rqs.o: $(srcdir)/list_rqs.c $(srcdir)/ss_internal.h $(srcdir)/ss.h \ $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h pager.o: $(srcdir)/pager.c $(srcdir)/ss_internal.h $(srcdir)/ss.h \ $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h requests.o: $(srcdir)/requests.c $(srcdir)/ss_internal.h $(srcdir)/ss.h \ $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h data.o: $(srcdir)/data.c $(srcdir)/ss_internal.h $(srcdir)/ss.h \ $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h get_readline.o: $(srcdir)/get_readline.c $(srcdir)/ss_internal.h \ $(srcdir)/ss.h $(top_builddir)/lib/ss/ss_err.h \ $(top_srcdir)/lib/et/com_err.h