diff --git a/makefile.basic b/makefile.basic index b9793b9..723a78e 100644 --- a/makefile.basic +++ b/makefile.basic @@ -25,6 +25,7 @@ OBJDIR::=obj DEPDIR::=$(OBJDIR)/dep LIBDIRS::=lib INCLUDE_DIRS::=include +PKGS::= CFLAGS::=-std=c18 -Wall -pedantic -Wextra CXXFLAGS::=-std=c++17 -Wall -pedantic -Wextra DEBUG_CFLAGS::=$(CFLAGS) -O0 -g3 -ggdb @@ -143,8 +144,8 @@ 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)") +INTERNAL_COMPILERFLAGS=-c $(foreach dir,$(INCLUDE_DIRS),-I"$(dir)") $(foreach pkg,$(PKGS),$(shell pkg-config --cflags "$(pkg)")) -MMD -MP -MF"$(DEPDIR)/$(notdir $(patsubst %.o,%.d,$@))" +INTERNAL_LINKFLAGS=$(foreach dir,$(LIBDIRS),-L"$(dir)") $(foreach pkg,$(PKGS),$(shell pkg-config --libs "$(pkg)")) INTERNAL_SOURCES::=$(SOURCES) $(foreach source,$(SOURCE_DIRS),$(foreach ext,$(EXT),$(wildcard $(source)/*.$(ext)))) OBJECTS::=$(addprefix $(OBJDIR)/,$(subst \,.,$(subst /,.,$(addsuffix .o,$(INTERNAL_SOURCES))))) ALL_COMPILEFLAGS=$(COMPILER_FLAGS) $(INTERNAL_COMPILERFLAGS) diff --git a/makefile.exe_progress b/makefile.exe_progress index c6b34be..f4c79de 100644 --- a/makefile.exe_progress +++ b/makefile.exe_progress @@ -25,6 +25,7 @@ OBJDIR::=obj DEPDIR::=$(OBJDIR)/dep LIBDIRS::=lib INCLUDE_DIRS::=include +PKGS::= CFLAGS::=-std=c18 -Wall -pedantic -Wextra CXXFLAGS::=-std=c++17 -Wall -pedantic -Wextra DEBUG_CFLAGS::=$(CFLAGS) -O0 -g3 -ggdb @@ -142,8 +143,8 @@ ifeq ($(VERBOSE),0) 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)") +INTERNAL_COMPILERFLAGS=-c $(foreach dir,$(INCLUDE_DIRS),-I"$(dir)") $(foreach pkg,$(PKGS),$(shell pkg-config --cflags "$(pkg)")) -MMD -MP -MF"$(DEPDIR)/$(notdir $(patsubst %.o,%.d,$@))" +INTERNAL_LINKFLAGS=$(foreach dir,$(LIBDIRS),-L"$(dir)") $(foreach pkg,$(PKGS),$(shell pkg-config --libs "$(pkg)")) 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))))) diff --git a/makefile.library b/makefile.library index e0cd5a3..de9de48 100644 --- a/makefile.library +++ b/makefile.library @@ -25,6 +25,7 @@ OBJDIR::=obj DEPDIR::=$(OBJDIR)/dep LIBDIRS::=lib INCLUDE_DIRS::=include +PKGS::= CFLAGS::=-std=c18 -Wall -pedantic -Wextra CXXFLAGS::=-std=c++17 -Wall -pedantic -Wextra DEBUG_CFLAGS::=$(CFLAGS) -O0 -g3 -ggdb @@ -162,11 +163,11 @@ ifeq ($(STATIC),1) 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_COMPILERFLAGS=-c $(foreach dir,$(INCLUDE_DIRS),-I"$(dir)") $(foreach pkg,$(PKGS),$(shell pkg-config --cflags "$(pkg)")) -MMD -MP -MF"$(DEPDIR)/$(notdir $(patsubst %.o,%.d,$@))" ifeq ($(WINDOWS),1) -INTERNAL_LINKFLAGS=-Wl,--out-implib,"lib$(MAIN_LIBRARY).a" $(foreach dir,$(LIBDIRS),-L"$(dir)") +INTERNAL_LINKFLAGS=-Wl,--out-implib,"lib$(MAIN_LIBRARY).a" $(foreach dir,$(LIBDIRS),-L"$(dir)") $(foreach pkg,$(PKGS),$(shell pkg-config --libs "$(pkg)")) else -INTERNAL_LINKFLAGS=$(foreach dir,$(LIBDIRS),-L"$(dir)") +INTERNAL_LINKFLAGS=$(foreach dir,$(LIBDIRS),-L"$(dir)") $(foreach pkg,$(PKGS),$(shell pkg-config --libs "$(pkg)")) endif INTERNAL_SOURCES::=$(SOURCES) $(foreach source,$(SOURCE_DIRS),$(foreach ext,$(EXT),$(wildcard $(source)/*.$(ext)))) STATIC_OBJECTS::=$(addprefix $(OBJDIR)/static/,$(subst \,.,$(subst /,.,$(addsuffix .o,$(INTERNAL_SOURCES))))) diff --git a/makefile.reclib b/makefile.reclib index e5b432e..e27d0b1 100644 --- a/makefile.reclib +++ b/makefile.reclib @@ -25,6 +25,7 @@ OBJDIR::=obj DEPDIR::=$(OBJDIR)/dep LIBDIRS::=lib INCLUDE_DIRS::=include +PKGS::= CFLAGS::=-std=c18 -Wall -pedantic -Wextra CXXFLAGS::=-std=c++17 -Wall -pedantic -Wextra DEBUG_CFLAGS::=$(CFLAGS) -O0 -g3 -ggdb @@ -154,8 +155,8 @@ ifeq ($(STATIC),1) 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)") +INTERNAL_COMPILERFLAGS=-c $(foreach dir,$(INCLUDE_DIRS),-I"$(dir)") $(foreach pkg,$(PKGS),$(shell pkg-config --cflags "$(pkg)")) -MMD -MP -MF"$(DEPDIR)/$(notdir $(patsubst %.o,%.d,$@))" +INTERNAL_LINKFLAGS=$(foreach dir,$(LIBDIRS),-L"$(dir)") $(foreach pkg,$(PKGS),$(shell pkg-config --libs "$(pkg)")) ifeq ($(SHARED),1) INTERNAL_COMPILERFLAGS+=$(SHARED_LIBRARY_FLAGS) endif diff --git a/makefile.recursive b/makefile.recursive index bccc288..2de8f5c 100644 --- a/makefile.recursive +++ b/makefile.recursive @@ -25,6 +25,7 @@ OBJDIR::=obj DEPDIR::=$(OBJDIR)/dep LIBDIRS::=lib INCLUDE_DIRS::=include +PKGS::= CFLAGS::=-std=c18 -Wall -pedantic -Wextra CXXFLAGS::=-std=c++17 -Wall -pedantic -Wextra DEBUG_CFLAGS::=$(CFLAGS) -O0 -g3 -ggdb @@ -139,8 +140,8 @@ ifeq ($(SAVEFLAGS),1) 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)") +INTERNAL_COMPILERFLAGS=-c $(foreach dir,$(INCLUDE_DIRS),-I"$(dir)") $(foreach pkg,$(PKGS),$(shell pkg-config --cflags "$(pkg)")) -MMD -MP -MF"$(DEPDIR)/$(notdir $(patsubst %.o,%.d,$@))" +INTERNAL_LINKFLAGS=$(foreach dir,$(LIBDIRS),-L"$(dir)") $(foreach pkg,$(PKGS),$(shell pkg-config --libs "$(pkg)")) 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)))))