Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
C
cpp_tools
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
We are moving to Forgejo!
You are on a read-only GitLab instance.
Show more breadcrumbs
namark
cpp_tools
Commits
7c936aa6
Commit
7c936aa6
authored
6 years ago
by
namark
Browse files
Options
Downloads
Patches
Plain Diff
Improvements and more customizability in Makefiles
parent
b6d279ff
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
Makefile
+2
-2
2 additions, 2 deletions
Makefile
make_templates/header_only_lib
+2
-2
2 additions, 2 deletions
make_templates/header_only_lib
make_templates/static_lib
+26
-21
26 additions, 21 deletions
make_templates/static_lib
with
30 additions
and
25 deletions
Makefile
+
2
−
2
View file @
7c936aa6
override
CPPFLAGS
+=
--std
=
c++1z
CPPFLAGS
+=
--std
=
c++1z
override
CPPFLAGS
+=
-MMD
-MP
override
CPPFLAGS
+=
-I
./include
override
CPPFLAGS
+=
$(
shell
cat
.cxxflags 2> /dev/null | xargs
)
override
LDLIBS
+=
-lstdc
++fs
LDLIBS
+=
-lstdc
++fs
ifneq
($(shell cat COPYRIGHT 2> /dev/null),)
COPYRIGHT
?=
COPYRIGHT
...
...
This diff is collapsed.
Click to expand it.
make_templates/header_only_lib
+
2
−
2
View file @
7c936aa6
TAREGT
_INCLUDE := include
INSTALL
_INCLUDE := include
ifneq ($(shell cat COPYRIGHT 2> /dev/null),)
COPYRIGHT ?= COPYRIGHT
...
...
@@ -7,7 +7,7 @@ COPYRIGHT ?= /dev/null
endif
PREFIX := $(DESTDIR)/usr/local
INCDIR := $(PREFIX)/$(
TAREGT
_INCLUDE)
INCDIR := $(PREFIX)/$(
INSTALL
_INCLUDE)
SRCDIR := ./source
HEADERS := $(shell find -wholename "$(SRCDIR)/*.hpp" && find -wholename "$(SRCDIR)/*.h")
...
...
This diff is collapsed.
Click to expand it.
make_templates/static_lib
+
26
−
21
View file @
7c936aa6
override
CPPFLAGS += --std=c++1z
CPPFLAGS += --std=c++1z
override CPPFLAGS += -MMD -MP
override CPPFLAGS += -I./include
override CPPFLAGS += $(shell cat .cxxflags 2> /dev/null | xargs)
ARFLAGS := $(ARFLAGS)c
TAREGT
_INCLUDE := include
TAREGT
_SOURCE := source
TAREGT
_LIB := lib
#LOCAL_TEMP
#LOCAL_DIST
INSTALL
_INCLUDE := include
INSTALL
_SOURCE := source
INSTALL
_LIB := lib
#LOCAL_TEMP
#LOCAL_DIST
ifneq ($(shell cat COPYRIGHT 2> /dev/null),)
COPYRIGHT ?= COPYRIGHT
...
...
@@ -18,18 +18,19 @@ COPYRIGHT ?= /dev/null
endif
PREFIX := $(DESTDIR)/usr/local
INCDIR := $(PREFIX)/$(
TAREGT
_INCLUDE)
LIBDIR := $(PREFIX)/$(
TAREGT
_LIB)
TARGET
_SRCDIR := $(PREFIX)/$(
TAREGT
_SOURCE)
INCDIR := $(PREFIX)/$(
INSTALL
_INCLUDE)
LIBDIR := $(PREFIX)/$(
INSTALL
_LIB)
INSTALL
_SRCDIR := $(PREFIX)/$(
INSTALL
_SOURCE)
SRCDIR := ./source
SRCDIR ?= ./source
SRCEXT ?= .cpp
TEMPDIR := temp
ifneq ($(LOCAL_TEMP),)
TEMPDIR := $(TEMPDIR)/$(LOCAL_TEMP)
endif
DISTDIR := out
/$(LOCAL_DIST)
DISTDIR := out
ifneq ($(LOCAL_DIST),)
DISTDIR := $(DISTDIR)/$(LOCAL_DIST)
endif
...
...
@@ -40,24 +41,28 @@ endif
OUT := $(DISTDIR)/$(TARGET)
ifeq ($(origin HEADERS), undefined)
HEADERS := $(shell find -wholename "$(SRCDIR)/*.hpp" && find -wholename "$(SRCDIR)/*.h")
endif
INCLUDE := $(HEADERS:$(SRCDIR)/%=$(INCDIR)/%)
INCDIRS := $(shell dirname $(INCLUDE))
SOURCES := $(shell find -wholename "$(SRCDIR)/*.cpp")
TARGET_SOURCES := $(SOURCES:$(SRCDIR)/%=$(TARGET_SRCDIR)/%)
TARGET_SOURCES += $(INCLUDE:$(INCDIR)/%=$(TARGET_SRCDIR)/%)
TARGET_SRCDIRS := $(shell dirname $(TARGET_SOURCES))
ifeq ($(origin SOURCES), undefined)
SOURCES := $(shell find -wholename "$(SRCDIR)/*$(SRCEXT)")
endif
OBJECTS := $(SOURCES:$(SRCDIR)/%
.cpp
=$(TEMPDIR)/%.o)
OBJECTS := $(SOURCES:$(SRCDIR)/%
$(SRCEXT)
=$(TEMPDIR)/%.o)
OBJDIRS := $(shell dirname $(OBJECTS))
DEPENDS := $(OBJECTS:.o=.d)
INSTALL_SOURCES := $(SOURCES:$(SRCDIR)/%=$(INSTALL_SRCDIR)/%)
INSTALL_SOURCES += $(INCLUDE:$(INCDIR)/%=$(INSTALL_SRCDIR)/%)
INSTALL_SRCDIRS := $(shell dirname $(INSTALL_SOURCES))
$(OUT): $(OBJECTS) | $(DISTDIR)
$(AR) $(ARFLAGS) $@ $^
$(TEMPDIR)/%.o: $(SRCDIR)/%
.cpp
| $(TEMPDIR)
$(TEMPDIR)/%.o: $(SRCDIR)/%
$(SRCEXT)
| $(TEMPDIR)
@mkdir -p $(@D)
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ -c $<
...
...
@@ -99,9 +104,9 @@ $(INCDIR)/%.hpp: $(SRCDIR)/%.hpp $(COPYRIGHT)
cat $(COPYRIGHT) >> $@ 2> /dev/null || true
cat $< >> $@
install_source: $(
TARGET
_SOURCES)
install_source: $(
INSTALL
_SOURCES)
$(
TARGET
_SRCDIR)/%: $(SRCDIR)/% $(COPYRIGHT)
$(
INSTALL
_SRCDIR)/%: $(SRCDIR)/% $(COPYRIGHT)
@mkdir -p $(@D)
cat $(COPYRIGHT) >> $@ 2> /dev/null || true
cat $< >> $@
...
...
@@ -111,8 +116,8 @@ uninstall:
@rmdir -p $(INCDIRS) 2> /dev/null || true
-rm $(LIBDIR)/$(TARGET)
@rmdir -p $(LIBDIR) 2> /dev/null || true
-rm $(
TARGET
_SOURCES)
@rmdir -p $(
TARGET
_SRCDIRS) 2> /dev/null || true
-rm $(
INSTALL
_SOURCES)
@rmdir -p $(
INSTALL
_SRCDIRS) 2> /dev/null || true
@echo Uninstall complete!
-include $(DEPENDS)
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment