Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SLNDIR := ../..
- PRJDIR := ..
- OUTDIR := $(PRJDIR)/Output/$(BUILD)
- HDRDIR := $(PRJDIR)/Shared/Headers
- LIBDIR := $(PRJDIR)/Shared
- PROGRAM :=
- STATIC_LIBRARY := Common
- SHARED_LIBRARY :=
- SRCS := Option.c Stream.c
- OBJS := $(SRCS:.c=.o)
- LIBS :=
- CFLAGS := $(addprefix -I,$(HDRDIR)) $(addprefix -L,$(LIBDIR))
- ASFLAGS :=
- LDFLAGS :=
- .SUFFIXES: .c .s .o
- ifneq ($(PROGRAM),)
- PROGRAM := $(OUTDIR)/$(PROGRAM)
- endif
- ifneq ($(STATIC_LIBRARY),)
- STATIC_LIBRARY := $(PRJDIR)/Shared/lib$(STATIC_LIBRARY).a
- endif
- ifneq ($(SHARED_LIBRARY),)
- IMPORT_LIBRARY := $(PRJDIR)/Shared/lib$(SHARED_LIBRARY).dll.a
- SHARED_LIBRARY := $(OUTDIR)/$(SHARED_LIBRARY).dll
- LDFLAGS := -shared
- endif
- all: $(PROGRAM) $(STATIC_LIBRARY) $(SHARED_LIBRARY)
- clean:
- rm -f $(SRCS:.c=.o)
- dist:
- distclean: clean
- rm -R -f $(OUTDIR) $(STATIC_LIBRARY) $(IMPORT_LIBRARY)
- install:
- uninstall:
- $(PROGRAM): $(OBJS)
- @mkdir -p $(OUTDIR)
- $(CC) $(CFLAGS) -o $@ $^ $(LIBS)
- $(STATIC_LIBRARY): $(OBJS)
- @mkdir -p $(PRJDIR)/Shared
- $(AR) -crf $@ $^
- $(SHARED_LIBRARY): $(OBJS)
- @mkdir -p $(PRJDIR)/Shared $(OUTDIR)
- $(CC) $(CFLAGS) -Wl,--out-implib=$(IMPORT_LIBRARY) -shared -o $@ $^
- .c.o:
- $(CC) $(CFLAGS) -c -o $@ $^
- .s.o:
- $(AS) $(ASFLAGS) -o $@ $^
Advertisement
Add Comment
Please, Sign In to add comment