Makefile 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. OS!=uname -s
  2. .include "../platform/${OS}/Makefile.inc"
  3. .include "../Makefile.inc"
  4. LIBS+= ${SYMON_LIBS} -L../lib -lsym -lprobe
  5. MODS!= ( for s in ../platform/stub/sm_*.c; do \
  6. f=../platform/${OS}/`basename $$s`; \
  7. g=../platform/generic/`basename $$s`; \
  8. if [ -f $$f ]; then echo $$f; \
  9. else if [ -f $$g ]; then echo $$g; \
  10. else echo $$s; \
  11. fi; fi; \
  12. done )
  13. EXTRA_SRC=${PLATFORM_SRC:S,^,../platform/${OS}/,g}
  14. SRCS= symon.c readconf.c symonnet.c ${MODS} ${EXTRA_SRC}
  15. OBJS+= ${SRCS:R:S/$/.o/g}
  16. CFLAGS+=-I../lib -I../platform/${OS} -I.
  17. all: symon symon.cat8
  18. ${OBJS}: conf.h
  19. symon: ${OBJS}
  20. ${CC} -o $@ ${OBJS} ${LIBS}
  21. .ifndef DEBUG
  22. ${STRIP} $@
  23. .endif
  24. clean:
  25. rm -f conf.h symon symon.cat8 symon.core ${OBJS}
  26. install: symon symon.8 symon.conf
  27. ${INSTALL} -c -m 555 -g ${INSTALLGROUPFILE} -o ${INSTALLUSER} symon ${PREFIX}/${BINDIR}/
  28. ${INSTALL} -d -m 555 -g ${INSTALLGROUPDIR} -o ${INSTALLUSER} ${PREFIX}/${MANDIR}/man8
  29. ${INSTALL} -c -m 444 -g ${INSTALLGROUPFILE} -o ${INSTALLUSER} symon.8 ${PREFIX}/${MANDIR}/man8/symon.8
  30. ${INSTALL} -d -m 555 -g ${INSTALLGROUPDIR} -o ${INSTALLUSER} ${PREFIX}/${SHRDIR}
  31. ${INSTALL} -c -m 555 -g ${INSTALLGROUPFILE} -o ${INSTALLUSER} c_config.sh ${PREFIX}/${SHRDIR}/
  32. ${INSTALL} -d -m 555 -g ${INSTALLGROUPDIR} -o ${INSTALLUSER} ${PREFIX}/${EXADIR}
  33. ${INSTALL} -c -m 444 -g ${INSTALLGROUPFILE} -o ${INSTALLUSER} symon.conf ${PREFIX}/${EXADIR}/
  34. conf.h: Makefile ../Makefile.inc
  35. @echo Generating $@ on ${OS}
  36. @echo "/* This file was automagically generated by make */" > $@
  37. @echo "#define SYMON_CONFIG_FILE \"$(SYSCONFDIR)/symon.conf\"" >> $@
  38. @echo "#define SYMON_VERSION \"$(V)\"" >> $@
  39. @echo "#define SYMON_PLATFORM \"${OS}\"" >> $@
  40. @echo "#include \"../platform/${OS}/platform.h\"" >> $@
  41. @if [ -f ../platform/${OS}/conf.sh ]; then sh ../platform/${OS}/conf.sh >> $@; fi
  42. symon.h: conf.h
  43. symon.o: symon.h