Guest User

Untitled

a guest
Sep 17th, 2014
373
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Make 1.29 KB | None | 0 0
  1. SLNDIR              := ../..
  2. PRJDIR              := ..
  3.  
  4. OUTDIR              := $(PRJDIR)/Output/$(BUILD)
  5. HDRDIR              := $(PRJDIR)/Shared/Headers
  6. LIBDIR              := $(PRJDIR)/Shared
  7.  
  8. PROGRAM             :=
  9. STATIC_LIBRARY      := Common
  10. SHARED_LIBRARY      :=
  11.  
  12. SRCS                := Option.c Stream.c
  13. OBJS                := $(SRCS:.c=.o)
  14. LIBS                :=
  15.  
  16. CFLAGS              := $(addprefix -I,$(HDRDIR)) $(addprefix -L,$(LIBDIR))
  17. ASFLAGS             :=
  18. LDFLAGS             :=
  19.  
  20.  
  21.  
  22. .SUFFIXES: .c .s .o
  23.  
  24.  
  25.  
  26. ifneq ($(PROGRAM),)
  27. PROGRAM             := $(OUTDIR)/$(PROGRAM)
  28. endif
  29.  
  30. ifneq ($(STATIC_LIBRARY),)
  31. STATIC_LIBRARY      := $(PRJDIR)/Shared/lib$(STATIC_LIBRARY).a
  32. endif
  33.  
  34. ifneq ($(SHARED_LIBRARY),)
  35. IMPORT_LIBRARY      := $(PRJDIR)/Shared/lib$(SHARED_LIBRARY).dll.a
  36. SHARED_LIBRARY      := $(OUTDIR)/$(SHARED_LIBRARY).dll
  37. LDFLAGS             := -shared
  38. endif
  39.  
  40.  
  41.  
  42. all: $(PROGRAM) $(STATIC_LIBRARY) $(SHARED_LIBRARY)
  43. clean:
  44.     rm -f $(SRCS:.c=.o)
  45. dist:
  46. distclean: clean
  47.     rm -R -f $(OUTDIR) $(STATIC_LIBRARY) $(IMPORT_LIBRARY)
  48. install:
  49. uninstall:
  50.  
  51.  
  52.  
  53. $(PROGRAM): $(OBJS)
  54.     @mkdir -p $(OUTDIR)
  55.     $(CC) $(CFLAGS) -o $@ $^ $(LIBS)
  56.  
  57. $(STATIC_LIBRARY): $(OBJS)
  58.     @mkdir -p $(PRJDIR)/Shared
  59.     $(AR) -crf $@ $^
  60.  
  61. $(SHARED_LIBRARY): $(OBJS)
  62.     @mkdir -p $(PRJDIR)/Shared $(OUTDIR)
  63.     $(CC) $(CFLAGS) -Wl,--out-implib=$(IMPORT_LIBRARY) -shared -o $@ $^
  64.  
  65.  
  66.  
  67. .c.o:
  68.     $(CC) $(CFLAGS) -c -o $@ $^
  69.  
  70. .s.o:
  71.     $(AS) $(ASFLAGS) -o $@ $^
Advertisement
Add Comment
Please, Sign In to add comment