Fix not using LIBDIRS or LDFLAGS
This commit is contained in:
parent
67a70f4acf
commit
0d48b49510
@ -23,10 +23,10 @@ SOURCE_DIRS::=src
|
|||||||
SOURCES::=
|
SOURCES::=
|
||||||
OBJDIR::=obj
|
OBJDIR::=obj
|
||||||
DEPDIR::=$(OBJDIR)/dep
|
DEPDIR::=$(OBJDIR)/dep
|
||||||
LIBDIR::=lib
|
LIBDIRS::=lib
|
||||||
INCLUDE_DIRS::=include
|
INCLUDE_DIRS::=include
|
||||||
CFLAGS::=-g -std=c18 -Wall -pedantic -Wextra
|
CFLAGS::=-std=c18 -Wall -pedantic -Wextra
|
||||||
CXXFLAGS::=-g -std=c++17 -Wall -pedantic -Wextra
|
CXXFLAGS::=-std=c++17 -Wall -pedantic -Wextra
|
||||||
EXT::=cpp
|
EXT::=cpp
|
||||||
LANG::=$(EXT)
|
LANG::=$(EXT)
|
||||||
MAIN_EXECUTABLE::=tester
|
MAIN_EXECUTABLE::=tester
|
||||||
@ -116,6 +116,7 @@ endif
|
|||||||
|
|
||||||
#add dependency tracking and include directories
|
#add dependency tracking and include directories
|
||||||
INTERNAL_COMPILERFLAGS=-c $(foreach dir,$(INCLUDE_DIRS),-I"$(dir)") -MMD -MP -MF"$(DEPDIR)/$(notdir $(patsubst %.o,%.d,$@))"
|
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))
|
THIS_MAKEFILE_NAME::=$(lastword $(MAKEFILE_LIST))
|
||||||
INTERNAL_SOURCES::=$(SOURCES) $(foreach source,$(SOURCE_DIRS),$(foreach ext,$(EXT),$(wildcard $(source)/*.$(ext))))
|
INTERNAL_SOURCES::=$(SOURCES) $(foreach source,$(SOURCE_DIRS),$(foreach ext,$(EXT),$(wildcard $(source)/*.$(ext))))
|
||||||
OBJECTS::=$(addprefix $(OBJDIR)/,$(subst \,.,$(subst /,.,$(addsuffix .o,$(INTERNAL_SOURCES)))))
|
OBJECTS::=$(addprefix $(OBJDIR)/,$(subst \,.,$(subst /,.,$(addsuffix .o,$(INTERNAL_SOURCES)))))
|
||||||
@ -142,7 +143,7 @@ do_strip:
|
|||||||
|
|
||||||
#Link executable
|
#Link executable
|
||||||
$(MAIN_EXECUTABLE): $(OBJECTS)
|
$(MAIN_EXECUTABLE): $(OBJECTS)
|
||||||
$(COMPILER) $(LDFLAGS) $^ -o "$(basename $@)" $(LDLIBS)
|
$(COMPILER) $^ -o "$(basename $@)" $(INTERNAL_LINKFLAGS) $(LDFLAGS) $(LDLIBS)
|
||||||
|
|
||||||
#Object target recipe
|
#Object target recipe
|
||||||
define GENERATE_OBJECTS
|
define GENERATE_OBJECTS
|
||||||
|
|||||||
@ -23,10 +23,10 @@ SOURCE_DIRS::=src
|
|||||||
SOURCES::=
|
SOURCES::=
|
||||||
OBJDIR::=obj
|
OBJDIR::=obj
|
||||||
DEPDIR::=$(OBJDIR)/dep
|
DEPDIR::=$(OBJDIR)/dep
|
||||||
LIBDIR::=lib
|
LIBDIRS::=lib
|
||||||
INCLUDE_DIRS::=include
|
INCLUDE_DIRS::=include
|
||||||
CFLAGS::=-g -std=c18 -Wall -pedantic -Wextra
|
CFLAGS::=-std=c18 -Wall -pedantic -Wextra
|
||||||
CXXFLAGS::=-g -std=c++17 -Wall -pedantic -Wextra
|
CXXFLAGS::=-std=c++17 -Wall -pedantic -Wextra
|
||||||
EXT::=cpp
|
EXT::=cpp
|
||||||
LANG::=$(EXT)
|
LANG::=$(EXT)
|
||||||
MAIN_LIBRARY::=tester
|
MAIN_LIBRARY::=tester
|
||||||
@ -124,6 +124,7 @@ endif
|
|||||||
|
|
||||||
#add dependency tracking and include directories
|
#add dependency tracking and include directories
|
||||||
INTERNAL_COMPILERFLAGS=-c $(foreach dir,$(INCLUDE_DIRS),-I"$(dir)") -MMD -MP -MF"$(DEPDIR)/$(notdir $(patsubst %.o,%.d,$@))"
|
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)
|
ifeq ($(SHARED),1)
|
||||||
INTERNAL_COMPILERFLAGS+=$(SHARED_LIBRARY_FLAGS)
|
INTERNAL_COMPILERFLAGS+=$(SHARED_LIBRARY_FLAGS)
|
||||||
endif
|
endif
|
||||||
@ -161,12 +162,12 @@ endif #static
|
|||||||
ifeq ($(WINDOWS),1)
|
ifeq ($(WINDOWS),1)
|
||||||
#target for windows shared library
|
#target for windows shared library
|
||||||
$(DLLOUT): $(OBJECTS)
|
$(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
|
else #windows
|
||||||
|
|
||||||
#target for *nix shared library
|
#target for *nix shared library
|
||||||
$(INTERNAL_SHARED_LIBRARY): $(OBJECTS)
|
$(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
|
endif #windows
|
||||||
|
|
||||||
#target for static library
|
#target for static library
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user