# http://make.mad-scientist.net/papers/advanced-auto-dependency-generation/#tldr
BINARY_NAME:=exo2
SRC_PATH:=src
-LIBRARY_NAME:=libexo2
+LIBRARY_NAME:=lib$(BINARY_NAME)
LIBRARY_PATH:=lib
-LDLIBS:=-lncurses -ltinfo
+LDLIBS:=-l$(BINARY_NAME) -lncurses -ltinfo
BUILD_TYPE:=debug
#BUILD_TYPE:=release
BINARY_SUFFIX := .exe
DLIB_SUFFIX := .dll
# do not archive external libraries
-CYGWIN_LDLIBS_NOARCHIVE := $(LDLIBS)
+CYGWIN_LDLIBS_NOARCHIVE := $(filter-out -l$(BINARY_NAME),$(LDLIBS))
CYGWIN_LIBLDFLAGS := -Wl,--out-implib=$(LIBRARY_PATH)/$(DLIB_PREFIX)$(LIBRARY_NAME)$(DLIB_SUFFIX).a \
-Wl,--export-all-symbols \
-Wl,--enable-auto-import
LDFLAGS := $(LDFLAGS) $(LDFLAGS_LTO) $(LDFLAGS_GOLD) $(STRIP_FLAG)
LIBLDFLAGS := -shared $(LDFLAGS)
STATICLIBLDFLAGS := -static $(LDFLAGS)
-LDLIBS := $(LDLIBS) -L$(LIBRARY_PATH) -l$(BINARY_NAME)
+LDLIBS := $(LDLIBS) -L$(LIBRARY_PATH)
all: $(BINARY_NAME)$(BINARY_SUFFIX) $(BINARY_NAME).dynamic$(BINARY_SUFFIX) $(BINARY_NAME).static$(BINARY_SUFFIX)