common.mk 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. ############################################################################
  2. ##
  3. ## common.mk
  4. ##
  5. ## SNMP++v3.2.23
  6. ## -----------------------------------------------
  7. ## Copyright (c) 2001-2007 Jochen Katz, Frank Fock
  8. ##
  9. ## This software is based on SNMP++2.6 from Hewlett Packard:
  10. ##
  11. ## Copyright (c) 1996
  12. ## Hewlett-Packard Company
  13. ##
  14. ## ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS.
  15. ## Permission to use, copy, modify, distribute andor sell this software
  16. ## andor its documentation is hereby granted without fee. User agrees
  17. ## to display the above copyright notice and this license notice in all
  18. ## copies of the software and any documentation of the software. User
  19. ## agrees to assume all liability for the use of the software;
  20. ## Hewlett-Packard and Jochen Katz make no representations about the
  21. ## suitability of this software for any purpose. It is provided
  22. ## "AS-IS" without warranty of any kind, either express or implied. User
  23. ## hereby grants a royalty-free license to any and all derivatives based
  24. ## upon this software code base.
  25. ##
  26. ## Stuttgart, Germany, Sun Nov 11 15:10:59 CET 2007
  27. ##
  28. ##########################################################################*
  29. GET = snmpGet
  30. GETOBJS = snmpGet.o
  31. SET = snmpSet
  32. SETOBJS = snmpSet.o
  33. NEXT = snmpNext
  34. NEXTOBJS = snmpNext.o
  35. NEXTASYNC = snmpNextAsync
  36. NEXTASYNCOBJS = snmpNextAsync.o
  37. WALK = snmpWalk
  38. WALKOBJS = snmpWalk.o
  39. BULKWALK = snmpBulk
  40. BULKWALKOBJS = snmpBulk.o
  41. TRAPSEND = snmpTraps
  42. TRAPSENDOBJS = snmpTraps.o
  43. TRAPRECEIVE = receive_trap
  44. TRAPRECEIVEOBJS = receive_trap.o
  45. INFORM = snmpInform
  46. INFORMOBJS = snmpInform.o
  47. PASSWD = snmpPasswd
  48. PASSWDOBJS = snmpPasswd.o
  49. WALKTHREADS = snmpWalkThreads
  50. WALKTHREADSOBJS = snmpWalkThreads.o
  51. TESTAPP = test_app
  52. TESTAPPOBJS = test_app.o
  53. DISCOVER = snmpDiscover
  54. DISCOVEROBJS = snmpDiscover.o
  55. TARGETS = $(GET) $(SET) $(NEXTASYNC) $(NEXT) $(WALK) \
  56. $(BULKWALK) $(TRAPSEND) $(TRAPRECEIVE) $(INFORM) $(PASSWD) \
  57. $(WALKTHREADS) $(DISCOVER)
  58. #
  59. # Installation directories
  60. #
  61. INSTBINPATH=/usr/local/bin
  62. SNMPPLUSDIR = ..
  63. SNMPLIBPATH = $(SNMPPLUSDIR)/lib
  64. LIBDESDIR = ../../libdes
  65. LIBTOMCRYPTDIR = ../../crypt
  66. SNMPLIBS = $(wildcard $(SNMPLIBPATH)/libsnmp++*)
  67. LIBSNMP = $(SNMPLIBPATH)/libsnmp++.a
  68. LIBSNMPSH = $(SNMPLIBPATH)/libsnmp++.so
  69. LIBDES = $(LIBDESDIR)/libdes.a
  70. LIBTOMCRYPT = $(LIBTOMCRYPTDIR)/libtomcrypt.a
  71. HEADERS = $(wildcard $(SNMPPLUSDIR)/include/snmp_pp/*.h)
  72. # verify that snmp++ lib is in ../lib
  73. ifeq ($(SNMPLIBS),)
  74. $(error Error: Need snmp++ library in $(SNMPLIBPATH))
  75. endif
  76. # Set crypto lib to use
  77. ifndef CRYPTOLINKLIBS
  78. ifneq ($(wildcard $(LIBTOMCRYPT)),)
  79. USERTEXT = INFO: Found libtomcrypt.
  80. CRYPTOLINKLIBS = -L$(LIBTOMCRYPTDIR) -ltomcrypt
  81. else
  82. ifneq ($(wildcard $(LIBDES)),)
  83. USERTEXT = INFO: Found libdes.
  84. CRYPTOLINKLIBS = -L$(LIBDESDIR) -ldes
  85. else
  86. USERTEXT = INFO: No crypto libs found, SNMPv3 cannot be used.
  87. CRYPTOLINKLIBS =
  88. endif
  89. endif
  90. endif
  91. LINKLIBS = -L$(SNMPLIBPATH) -lsnmp++ $(CRYPTOLINKLIBS)
  92. all: checklib $(TARGETS) $(TESTAPP)
  93. install: all
  94. install -d $(DESTDIR)$(INSTBINPATH)
  95. install $(TARGETS) $(DESTDIR)$(INSTBINPATH)
  96. checklib:
  97. @echo $(USERTEXT)
  98. %.o: %.cpp
  99. $(CXX) $(CFLAGS) -o $@ -c $<
  100. .c.o:
  101. $(CC) $(CFLAGS) -c $<
  102. .C.o:
  103. $(CXX) $(CFLAGS) -c $<
  104. .cpp.o:
  105. $(CXX) $(CFLAGS) -c $<
  106. %: %.o $(SNMPLIBS)
  107. $(CXX) $(LDFLAGS) $< $(LINKLIBS) -o $@
  108. #
  109. # Dependencies:
  110. #
  111. $(GETOBJS): $(HEADERS)
  112. $(SETOBJS): $(HEADERS)
  113. $(NEXTOBJS): $(HEADERS)
  114. $(NEXTASYNCOBJS): $(HEADERS)
  115. $(WALKOBJS): $(HEADERS)
  116. $(WALKTHREADSOBJS): $(HEADERS)
  117. $(BULKWALKOBJS): $(HEADERS)
  118. $(TRAPSENDOBJS): $(HEADERS)
  119. $(TRAPRECEIVEOBJS): $(HEADERS)
  120. $(INFORMOBJS): $(HEADERS)
  121. $(PASSWDOBJS): $(HEADERS)
  122. $(TESTAPPOBJS): $(HEADERS)
  123. $(DISCOVEROBJS): $(HEADERS)
  124. strip: $(TARGETS) $(TESTAPP)
  125. -strip $(TARGETS) $(TESTAPP)
  126. clean:
  127. -rm -f *.o *.a *~ core
  128. -rm -rf ptrepository cxx_repository/ SunWS_cache/
  129. clobber: clean
  130. -rm -f $(TARGETS) $(TESTAPP) snmpv3_boot_counter