diff --git a/makefile.basic b/makefile.basic index 2ec1761..ea13728 100644 --- a/makefile.basic +++ b/makefile.basic @@ -23,10 +23,10 @@ SOURCE_DIRS::=src SOURCES::= OBJDIR::=obj DEPDIR::=$(OBJDIR)/dep -LIBDIR::=lib +LIBDIRS::=lib INCLUDE_DIRS::=include -CFLAGS::=-g -std=c18 -Wall -pedantic -Wextra -CXXFLAGS::=-g -std=c++17 -Wall -pedantic -Wextra +CFLAGS::=-std=c18 -Wall -pedantic -Wextra +CXXFLAGS::=-std=c++17 -Wall -pedantic -Wextra EXT::=cpp LANG::=$(EXT) MAIN_EXECUTABLE::=tester @@ -116,6 +116,7 @@ endif #add dependency tracking and include directories INTERNAL_COMPILERFLAGS=-c $(foreach dir,$(INCLUDE_DIRS),-I"$(dir)") -MMD -MP -MF"$(DEPDIR)/$(notdir $(patsubst %.o,%.d,$@))" +INTERNAL_LINKFLAGS=$(foreach dir,$(LIBDIRS),-L"$(dir)") THIS_MAKEFILE_NAME::=$(lastword $(MAKEFILE_LIST)) INTERNAL_SOURCES::=$(SOURCES) $(foreach source,$(SOURCE_DIRS),$(foreach ext,$(EXT),$(wildcard $(source)/*.$(ext)))) OBJECTS::=$(addprefix $(OBJDIR)/,$(subst \,.,$(subst /,.,$(addsuffix .o,$(INTERNAL_SOURCES))))) @@ -142,7 +143,7 @@ do_strip: #Link executable $(MAIN_EXECUTABLE): $(OBJECTS) - $(COMPILER) $(LDFLAGS) $^ -o "$(basename $@)" $(LDLIBS) + $(COMPILER) $^ -o "$(basename $@)" $(INTERNAL_LINKFLAGS) $(LDFLAGS) $(LDLIBS) #Object target recipe define GENERATE_OBJECTS diff --git a/makefile.library b/makefile.library index 5101059..cc084c3 100644 --- a/makefile.library +++ b/makefile.library @@ -23,10 +23,10 @@ SOURCE_DIRS::=src SOURCES::= OBJDIR::=obj DEPDIR::=$(OBJDIR)/dep -LIBDIR::=lib +LIBDIRS::=lib INCLUDE_DIRS::=include -CFLAGS::=-g -std=c18 -Wall -pedantic -Wextra -CXXFLAGS::=-g -std=c++17 -Wall -pedantic -Wextra +CFLAGS::=-std=c18 -Wall -pedantic -Wextra +CXXFLAGS::=-std=c++17 -Wall -pedantic -Wextra EXT::=cpp LANG::=$(EXT) MAIN_LIBRARY::=tester @@ -124,6 +124,7 @@ endif #add dependency tracking and include directories INTERNAL_COMPILERFLAGS=-c $(foreach dir,$(INCLUDE_DIRS),-I"$(dir)") -MMD -MP -MF"$(DEPDIR)/$(notdir $(patsubst %.o,%.d,$@))" +INTERNAL_LINKFLAGS=$(foreach dir,$(LIBDIRS),-L"$(dir)") ifeq ($(SHARED),1) INTERNAL_COMPILERFLAGS+=$(SHARED_LIBRARY_FLAGS) endif @@ -161,12 +162,12 @@ endif #static ifeq ($(WINDOWS),1) #target for windows shared library $(DLLOUT): $(OBJECTS) - $(COMPILER) -shared -o "$(DLLOUT)" $^ -Wl,--out-implib,"lib$(MAIN_LIBRARY).a" $(SHARED_LIBRARY_FLAGS) $(LDLIBS) $(LDFLAGS) + $(COMPILER) -shared -o "$(DLLOUT)" $^ -Wl,--out-implib,"lib$(MAIN_LIBRARY).a" $(SHARED_LIBRARY_FLAGS) $(INTERNAL_LINKFLAGS) $(LDFLAGS) $(LDLIBS) else #windows #target for *nix shared library $(INTERNAL_SHARED_LIBRARY): $(OBJECTS) - $(COMPILER) -shared -o "$@" $^ $(COMPILER_FLAGS) $(SHARED_LIBRARY_FLAGS) $(LDFLAGS) $(LDLIBS) + $(COMPILER) -shared -o "$@" $^ $(COMPILER_FLAGS) $(SHARED_LIBRARY_FLAGS) $(INTERNAL_LINKFLAGS) $(LDFLAGS) $(LDLIBS) endif #windows #target for static library