Makefile 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. ##---------------------------------------------------------------------------
  2. ## __________________ _________ _____ _____ .__ ._.
  3. ## \______ \______ \ / _____/ / \ / _ \ |__| ____ | |
  4. ## | | _/| | \ \_____ \ / \ / \ / /_\ \| _/ __ \ | |
  5. ## | | \| ` \/ / Y \ / | | \ ___/ \|
  6. ## |______ /_______ /_______ \____|__ / /\ \____|__ |__|\___ | __
  7. ## \/ \/ \/ \/ )/ \/ \/ \/
  8. ##
  9. ## This file is part of libdsm. Copyright © 2014 VideoLabs SAS
  10. ##
  11. ## Author: Julien 'Lta' BALLET <contact@lta.io>
  12. ##
  13. ## This program is free software. It comes without any warranty, to the extent
  14. ## permitted by applicable law. You can redistribute it and/or modify it under
  15. ## the terms of the Do What The Fuck You Want To Public License, Version 2, as
  16. ## published by Sam Hocevar. See the COPYING file for more details.
  17. ##----------------------------------------------------------------------------
  18. CFLAGS = -Iinclude -I contrib -DBDSM_DEBUG=1 -D_BSD_SOURCE -std=c99 -fPIC
  19. LDFLAGS = #-levent
  20. CC = clang
  21. AR = ar
  22. RANLIB = ranlib
  23. LIB = libdsm.so
  24. LIB_STATIC = libdsm.a
  25. UTILS = dsm discover inverse lookup
  26. LIB_SRC = contrib/mdx/md5.c \
  27. contrib/mdx/md4.c \
  28. src/hmac_md5.c \
  29. src/netbios_utils.c \
  30. src/netbios_ns.c \
  31. src/netbios_ns_entry.c \
  32. src/netbios_query.c \
  33. src/netbios_session.c \
  34. src/smb_utils.c \
  35. src/smb_message.c \
  36. src/smb_session.c \
  37. src/smb_ntlm.c \
  38. src/smb_share.c \
  39. src/smb_file.c \
  40. src/smb_trans2.c \
  41. src/context.c
  42. DSM_SRC = dsm.c
  43. DISCOVER_SRC = discover.c
  44. INVERSE_SRC = inverse.c
  45. LOOKUP_SRC = lookup.c
  46. LIB_LDFLAGS = -shared
  47. LIB_OBJS = $(LIB_SRC:.c=.o)
  48. all: $(LIB) $(LIB_STATIC) $(UTILS)
  49. clean:
  50. rm -f $(UTILS) $(LIB) $(LIB_STATIC) *.o
  51. rm -rf $(LIB_OBJS)
  52. re: clean all
  53. c: clean
  54. $(LIB): $(LIB_OBJS)
  55. $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(LIB_LDFLAGS) $(LIB_OBJS)
  56. $(LIB_STATIC): $(LIB_OBJS)
  57. $(AR) -rcs $@ $(LIB_OBJS)
  58. test:
  59. dsm: $(LIB) $(DSM_SRC)
  60. $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(DSM_SRC) $(LIB_STATIC)
  61. discover: $(LIB) $(DISCOVER_SRC)
  62. $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(DISCOVER_SRC) $(LIB_STATIC)
  63. inverse: $(LIB) $(INVERSE_SRC)
  64. $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(INVERSE_SRC) $(LIB_STATIC)
  65. lookup: $(LIB) $(LOOKUP_SRC)
  66. $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(LOOKUP_SRC) $(LIB_STATIC)
  67. .c.o:
  68. $(CC) -c $(CFLAGS) -o $@ $<
  69. .PHONY: all clean re