Makefile 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. # Copyright (c) 2002-2004 MontaVista Software, Inc.
  2. #
  3. # All rights reserved.
  4. #
  5. # This software licensed under BSD license, the text of which follows:
  6. #
  7. # Redistribution and use in source and binary forms, with or without
  8. # modification, are permitted provided that the following conditions are met:
  9. #
  10. # - Redistributions of source code must retain the above copyright notice,
  11. # this list of conditions and the following disclaimer.
  12. # - Redistributions in binary form must reproduce the above copyright notice,
  13. # this list of conditions and the following disclaimer in the documentation
  14. # and/or other materials provided with the distribution.
  15. # - Neither the name of the MontaVista Software, Inc. nor the names of its
  16. # contributors may be used to endorse or promote products derived from this
  17. # software without specific prior written permission.
  18. #
  19. # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  20. # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  21. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  22. # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  23. # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  24. # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  25. # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  26. # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  27. # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  28. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  29. # THE POSSIBILITY OF SUCH DAMAGE.
  30. # Production mode flags
  31. CFLAGS = -O3 -Wall -fomit-frame-pointer
  32. LDFLAGS =
  33. # Debug mode flags
  34. #CFLAGS = -g -O2 -Wall
  35. #-DDEBUG
  36. #LDFLAGS = -g
  37. # Profile mode flags
  38. #CFLAGS = -O2 -pg
  39. #LDFLAGS = -pg
  40. # Code Coverage with lcov flgs
  41. #CFLAGS = -ftest-coverage -fprofile-arcs
  42. #LDFLAGS = -g
  43. GMI_SRC = aispoll.c gmi.c tlist.c hdb.c crypto.c
  44. GMI_OBJS = aispoll.o gmi.o tlist.o hdb.o crypto.o
  45. EXEC_SRC = main.c clm.c amf.c ckpt.c evt.c evs.c parse.c print.c mempool.c \
  46. util.c
  47. EXEC_OBJS = main.o clm.o amf.o ckpt.o evt.o evs.o parse.o print.o mempool.o \
  48. util.o libgmi.a
  49. OBJS = $(GMI_OBJS) $(EXEC_OBJS)
  50. all:libgmi.a libgmi.so.1.0 aisexec keygen
  51. aisexec: $(EXEC_OBJS)
  52. $(CC) $(LDFLAGS) $(EXEC_OBJS) $(LIBS) -o aisexec
  53. libgmi.a: $(GMI_OBJS)
  54. $(AR) -rc libgmi.a $(GMI_OBJS)
  55. libgmi.so.1.0: $(GMI_OBJS)
  56. $(CC) -shared -Wl,-soname,libgmi.so.1 $(GMI_OBJS) -o $@
  57. rm -f libgmi.so.1 libgmi.so
  58. ln -s libgmi.so.1.0 libgmi.so.1
  59. ln -s libgmi.so.1.0 libgmi.so
  60. keygen: keygen.o
  61. $(CC) $(LDFLAGS) keygen.o -o keygen
  62. clean:
  63. rm -f aisexec $(OBJS) libgmi.so.1.0 libgmi.so.1 libgmi.so libgmi.a gmon.out keygen *.da *.bb *.bbg
  64. depend:
  65. makedepend -Y -- $(CFLAGS) $(EXEC_SRC) $(GMI_SRC) > /dev/null 2>&1
  66. %.o: %.c
  67. $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
  68. # DO NOT DELETE
  69. main.o: ../include/ais_types.h ../include/ais_msg.h ../include/ais_types.h
  70. main.o: evs.h ../include/list.h ../include/queue.h gmi.h aispoll.h mempool.h
  71. main.o: parse.h main.h clm.h amf.h handlers.h ckpt.h evt.h hdb.h print.h
  72. clm.o: ../include/ais_types.h ../include/ais_msg.h ../include/ais_types.h
  73. clm.o: evs.h ../include/list.h ../include/queue.h aispoll.h gmi.h parse.h
  74. clm.o: main.h clm.h amf.h handlers.h ckpt.h evt.h hdb.h print.h mempool.h
  75. amf.o: ../include/ais_types.h ../include/ais_msg.h ../include/ais_types.h
  76. amf.o: evs.h ../include/list.h ../include/queue.h gmi.h aispoll.h mempool.h
  77. amf.o: util.h parse.h main.h clm.h amf.h handlers.h ckpt.h evt.h hdb.h
  78. amf.o: print.h
  79. ckpt.o: ../include/ais_types.h ../include/ais_msg.h ../include/ais_types.h
  80. ckpt.o: evs.h ../include/list.h ../include/queue.h aispoll.h mempool.h util.h
  81. ckpt.o: parse.h gmi.h main.h clm.h amf.h handlers.h ckpt.h evt.h hdb.h
  82. ckpt.o: print.h
  83. evt.o: ../include/ais_types.h ../include/ais_msg.h ../include/ais_types.h
  84. evt.o: evs.h ../include/list.h ../include/queue.h util.h aispoll.h mempool.h
  85. evt.o: parse.h gmi.h main.h clm.h amf.h handlers.h ckpt.h evt.h hdb.h print.h
  86. evs.o: ../include/ais_types.h ../include/ais_msg.h ../include/ais_types.h
  87. evs.o: evs.h ../include/list.h ../include/queue.h aispoll.h gmi.h parse.h
  88. evs.o: main.h clm.h amf.h handlers.h ckpt.h evt.h hdb.h print.h mempool.h
  89. parse.o: ../include/ais_types.h ../include/list.h util.h parse.h aispoll.h
  90. parse.o: gmi.h mempool.h
  91. print.o: print.h ../include/ais_types.h parse.h ../include/list.h aispoll.h
  92. print.o: gmi.h
  93. mempool.o: ../include/list.h mempool.h
  94. util.o: ../include/ais_types.h ../include/list.h util.h
  95. aispoll.o: aispoll.h ../include/list.h hdb.h ../include/ais_types.h tlist.h
  96. gmi.o: aispoll.h gmi.h ../include/queue.h ../include/sq.h ../include/list.h
  97. gmi.o: hdb.h ../include/ais_types.h crypto.h
  98. tlist.o: ../include/list.h tlist.h
  99. hdb.o: hdb.h ../include/ais_types.h
  100. crypto.o: crypto.h