# Makefile template for the Virtual Server Administrator # Copyright (c) 1999, 2000 Idaya Ltd. # Contributed by Nick Burrett # This file is part of the Virtual Server Administrator (FreeVSD) # FreeVSD is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # FreeVSD is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with FreeVSD; see the file COPYING. If not, write to # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, # Boston, MA 02111-1307, USA. prefix=@prefix@ exec_prefix=@exec_prefix@ datadir=@datadir@ includedir=@includedir@ infodir=@infodir@ libdir=@libdir@ libexecdir=@libexecdir@ localstatedir=@localstatedir@ bindir=@bindir@ mandir=@mandir@ oldincludedir=@oldincludedir@ sbindir=@sbindir@ sharedstatedir=@sharedstatedir@ srcdir=@srcdir@ sysconfdir=@sysconfdir@ top_srcdir=@top_srcdir@ CC=@CC@ CFLAGS=@CFLAGS@ SSLFLAGS = @sslflags@ BISON=@BISON@ AR=@AR@ LN_S=@LN_S@ LDFLAGS=-L. @LDFLAGS@ INSTALL=@INSTALL@ VPATH=$(srcdir) SHELL=/bin/sh VSD_MODS = @module_libs@ VSD_LIB_MODS = @module_libs_client@ SUBDIRS = @module_subdirs@ skelrepo = ${datadir}/freevsd/skel-repo VSD_OBJS = io.o module.o module_glue.o util.o vsd.o SVSD_OBJS = sio.o module.o module_glue.o util.o svsd.o CLIENT_OBJS = mod-client.o module_glue_lib.o $(VSD_LIB_MODS) VSD_LIB = $(top_srcdir)/../libvsd/libvsd.a LIBS = $(top_srcdir)/../libvsd/libvsd.a @LIBS@ INCLUDE = -I. -I.. -I../../ -I$(srcdir) -I$(top_srcdir)/../libvsd @includes@ .SUFFIXES: .SUFFIXES: .c .o # note that the -I. is needed to handle config.h when using VPATH .c.o: $(CC) $(INCLUDE) $(CFLAGS) -c $< -o $@ all: all-modules vsd vsdadm svsd svsdadm vsdadm.o: vsdadm.c $(CC) $(INCLUDE) $(CFLAGS) -DVSD_LIB -c vsdadm.c -o $@ -DSSL_BASE=\"$(sysconfdir)/vsd\" svsdadm.o: vsdadm.c $(CC) $(INCLUDE) $(CFLAGS) $(SSLFLAGS) -DVSD_LIB -c vsdadm.c -o $@ -DSSL_BASE=\"$(sysconfdir)/vsd\" mod-client.o: module.c $(CC) $(INCLUDE) $(CFLAGS) -DVSD_LIB -c module.c -o $@ module_glue_lib.o: module_glue.c $(CC) $(INCLUDE) $(CFLAGS) -DVSD_LIB -c module_glue.c -o $@ io.o: io.c $(CC) $(INCLUDE) $(CFLAGS) -c io.c -o io.o -DSSL_BASE=\"$(sysconfdir)/vsd\" vsd: $(VSD_OBJS) $(VSD_MODS) $(VSD_LIB) @rm -f vsd $(CC) -o $@ $(VSD_OBJS) $(VSD_MODS) $(LDFLAGS) $(LIBS) svsd: $(SVSD_OBJS) $(VSD_MODS) $(VSD_LIB) @rm -f svsd $(CC) -o $@ $(SVSD_OBJS) $(VSD_MODS) $(LDFLAGS) $(SSLFLAGS) $(LIBS) vsdadm: vsdadm.o $(CLIENT_OBJS) $(VSD_LIB) @rm -f vsdadm $(CC) -o $@ vsdadm.o $(CLIENT_OBJS) $(LDFLAGS) $(LIBS) svsdadm: svsdadm.o $(CLIENT_OBJS) $(VSD_LIB) @rm -f svsdadm $(CC) -o $@ svsdadm.o $(CLIENT_OBJS) $(LDFLAGS) $(SSLFLAGS) $(LIBS) proto: cat *.c | awk -f mkproto.awk > proto.h install: all if [ ! -d ${ROOT}/$(sbindir) ]; then mkdir ${ROOT}/$(sbindir); fi if [ ! -d ${ROOT}/$(datadir) ]; then mkdir ${ROOT}/$(datadir); fi if [ ! -d ${ROOT}/$(datadir)/freevsd ]; then mkdir ${ROOT}/$(datadir)/freevsd; fi if [ ! -d ${ROOT}/$(skelrepo) ]; then mkdir ${ROOT}/$(skelrepo); fi if [ ! -d ${ROOT}/$(skelrepo)/usr ]; then mkdir ${ROOT}/$(skelrepo)/usr; fi if [ ! -d ${ROOT}/$(skelrepo)/usr/sbin ]; then mkdir ${ROOT}/$(skelrepo)/usr/sbin; fi $(INSTALL) -s -m 0755 vsd ${ROOT}/$(sbindir) $(INSTALL) -s -m 0755 vsdadm ${ROOT}/$(sbindir) $(INSTALL) -s -m 0755 svsd ${ROOT}/$(sbindir) $(INSTALL) -s -m 0755 svsdadm ${ROOT}/$(sbindir) uninstall: -rm -f ${ROOT}/$(sbindir)/vsd -rm -f ${ROOT}/$(sbindir)/vsdadm -rm -f ${ROOT}/$(sbindir)/svsd -rm -f ${ROOT}/$(sbindir)/svsdadm clean: all-clean -rm -f *~ *.o *.a vsd vsdadm svsd svsdadm distclean: clean -rm -f configure config.cache config.h config.h.in config.log -rm -f Makefile all-clean: @set fnord $(MAKEFLAGS); list='$(SUBDIRS)'; \ target=`echo $@ | sed s/all-//`; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ local_target="$$target"; \ (cd $$subdir && $(MAKE) $$local_target); \ if [ $$? -eq 0 ]; then true; else exit 1; fi; \ done && test -z "$$fail" all-modules: @set fnord $(MAKEFLAGS); list='$(SUBDIRS)'; \ target=`echo $@ | sed s/-modules//`; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ local_target="$$target"; \ (cd $$subdir && $(MAKE) $$local_target); \ if [ $$? -eq 0 ]; then true; else exit 1; fi; \ done; sio.o: io.c vsd.h io.h $(CC) $(INCLUDE) $(CFLAGS) $(SSLFLAGS) -c $< -o $@ svsd.o: vsd.c vsd.h $(CC) $(INCLUDE) $(CFLAGS) $(SSLFLAGS) -c $< -o $@ error.o: error.c vsd.h io.o: io.c vsd.h io.h module.o: module.c vsd.h util.o: util.c vsd.h vsd.o: vsd.c vsd.h vsd_lib.o: vsd_lib.c vsd.h vsdadm.o: vsdadm.c vsd.h