Skip to content

Commit 8ee8830

Browse files
committed
recreate repo
0 parents  commit 8ee8830

File tree

113 files changed

+1454
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

113 files changed

+1454
-0
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
tmp/*

Makefile

+70
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# tool macros
2+
CXX := g++
3+
#CXXFLAGS := -funsafe-math-optimizations -Ofast -flto=auto -funroll-all-loops -pipe -march=native -std=c++20 -Wall -Wextra `pkg-config --cflags --libs opencv4`
4+
CXXFLAGS := -funsafe-math-optimizations -Ofast -flto=auto -funroll-all-loops -pipe -march=native -std=c++20 -Wall -Wextra
5+
DBGFLAGS := -g
6+
CXXOBJFLAGS := $(CXXFLAGS) -c
7+
LFLAGS := -lncnn -lstdc++ -pthread -Wl,--gc-sections -flto -fopt-info-vec-optimized
8+
9+
# path macros
10+
BIN_PATH := bin
11+
OBJ_PATH := obj
12+
SRC_PATH := src
13+
DBG_PATH := debug
14+
15+
# compile macros
16+
TARGET_NAME := stablencnn
17+
ifeq ($(OS),Windows_NT)
18+
TARGET_NAME := $(addsuffix .exe,$(TARGET_NAME))
19+
endif
20+
TARGET := $(BIN_PATH)/$(TARGET_NAME)
21+
TARGET_DEBUG := $(DBG_PATH)/$(TARGET_NAME)
22+
23+
# src files & obj files
24+
SRC := $(foreach x, $(SRC_PATH), $(wildcard $(addprefix $(x)/*,.cpp)))
25+
OBJ := $(addprefix $(OBJ_PATH)/, $(addsuffix .o, $(notdir $(basename $(SRC)))))
26+
OBJ_DEBUG := $(addprefix $(DBG_PATH)/, $(addsuffix .o, $(notdir $(basename $(SRC)))))
27+
28+
# clean files list
29+
DISTCLEAN_LIST := $(OBJ) \
30+
$(OBJ_DEBUG)
31+
CLEAN_LIST := $(TARGET) \
32+
$(TARGET_DEBUG) \
33+
$(DISTCLEAN_LIST)
34+
35+
# default rule
36+
default: makedir all
37+
38+
# non-phony targets
39+
$(TARGET): $(OBJ)
40+
$(CXX) -o $@ $(OBJ) $(CXXFLAGS) $(LFLAGS)
41+
42+
$(OBJ_PATH)/%.o: $(SRC_PATH)/%.cpp
43+
$(CXX) $(CXXOBJFLAGS) -o $@ $<
44+
45+
$(DBG_PATH)/%.o: $(SRC_PATH)/%.cpp
46+
$(CXX) $(CXXOBJFLAGS) $(DBGFLAGS) -o $@ $<
47+
48+
$(TARGET_DEBUG): $(OBJ_DEBUG)
49+
$(CXX) $(CXXFLAGS) $(DBGFLAGS) $(OBJ_DEBUG) -o $@ $(LFLAGS)
50+
51+
# phony rules
52+
.PHONY: makedir
53+
makedir:
54+
@mkdir -p $(BIN_PATH) $(OBJ_PATH) $(DBG_PATH)
55+
56+
.PHONY: all
57+
all: $(TARGET)
58+
59+
.PHONY: debug
60+
debug: $(TARGET_DEBUG)
61+
62+
.PHONY: clean
63+
clean:
64+
@echo CLEAN $(CLEAN_LIST)
65+
@rm -f $(CLEAN_LIST)
66+
67+
.PHONY: distclean
68+
distclean:
69+
@echo CLEAN $(DISTCLEAN_LIST)
70+
@rm -f $(DISTCLEAN_LIST)

0 commit comments

Comments
 (0)