| | |
| | | CC=gcc |
| | | CFLAGS=-Wall `pkg-config --cflags opencv` -O3 -ffast-math -flto -march=native |
| | | #CFLAGS=-Wall `pkg-config --cflags opencv` -O0 -g |
| | | LDFLAGS=`pkg-config --libs opencv` -lm |
| | | GPU=1 |
| | | OPENCV=1 |
| | | CUDNN=0 |
| | | DEBUG=0 |
| | | |
| | | ARCH= --gpu-architecture=compute_52 --gpu-code=compute_52 |
| | | |
| | | VPATH=./src/ |
| | | EXEC=darknet |
| | | OBJDIR=./obj/ |
| | | |
| | | OBJ=network.o image.o tests.o convolutional_layer.o connected_layer.o maxpool_layer.o activations.o list.o option_list.o parser.o utils.o data.o matrix.o |
| | | CC=gcc |
| | | NVCC=nvcc |
| | | OPTS=-Ofast |
| | | LDFLAGS= -lm -pthread |
| | | COMMON= |
| | | CFLAGS=-Wall -Wfatal-errors |
| | | |
| | | all: cnn |
| | | ifeq ($(DEBUG), 1) |
| | | OPTS=-O0 -g |
| | | endif |
| | | |
| | | cnn: $(OBJ) |
| | | $(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ |
| | | CFLAGS+=$(OPTS) |
| | | |
| | | %.o: %.c |
| | | $(CC) $(CFLAGS) -c $< -o $@ |
| | | ifeq ($(OPENCV), 1) |
| | | COMMON+= -DOPENCV |
| | | CFLAGS+= -DOPENCV |
| | | LDFLAGS+= `pkg-config --libs opencv` |
| | | COMMON+= `pkg-config --cflags opencv` |
| | | endif |
| | | |
| | | ifeq ($(GPU), 1) |
| | | COMMON+= -DGPU -I/usr/local/cuda/include/ |
| | | CFLAGS+= -DGPU |
| | | LDFLAGS+= -L/usr/local/cuda/lib64 -lcuda -lcudart -lcublas -lcurand |
| | | endif |
| | | |
| | | ifeq ($(CUDNN), 1) |
| | | COMMON+= -DCUDNN |
| | | CFLAGS+= -DCUDNN |
| | | LDFLAGS+= -lcudnn |
| | | endif |
| | | |
| | | OBJ=gemm.o utils.o cuda.o deconvolutional_layer.o convolutional_layer.o list.o image.o activations.o im2col.o col2im.o blas.o crop_layer.o dropout_layer.o maxpool_layer.o softmax_layer.o data.o matrix.o network.o connected_layer.o cost_layer.o parser.o option_list.o darknet.o detection_layer.o imagenet.o captcha.o route_layer.o writing.o box.o nightmare.o normalization_layer.o avgpool_layer.o coco.o dice.o yolo.o layer.o compare.o classifier.o local_layer.o swag.o shortcut_layer.o activation_layer.o rnn_layer.o gru_layer.o rnn.o rnn_vid.o crnn_layer.o demo.o tag.o cifar.o go.o batchnorm_layer.o art.o |
| | | ifeq ($(GPU), 1) |
| | | LDFLAGS+= -lstdc++ |
| | | OBJ+=convolutional_kernels.o deconvolutional_kernels.o activation_kernels.o im2col_kernels.o col2im_kernels.o blas_kernels.o crop_layer_kernels.o dropout_layer_kernels.o maxpool_layer_kernels.o softmax_layer_kernels.o network_kernels.o avgpool_layer_kernels.o |
| | | endif |
| | | |
| | | OBJS = $(addprefix $(OBJDIR), $(OBJ)) |
| | | DEPS = $(wildcard src/*.h) Makefile |
| | | |
| | | all: obj results $(EXEC) |
| | | |
| | | $(EXEC): $(OBJS) |
| | | $(CC) $(COMMON) $(CFLAGS) $^ -o $@ $(LDFLAGS) |
| | | |
| | | $(OBJDIR)%.o: %.c $(DEPS) |
| | | $(CC) $(COMMON) $(CFLAGS) -c $< -o $@ |
| | | |
| | | $(OBJDIR)%.o: %.cu $(DEPS) |
| | | $(NVCC) $(ARCH) $(COMMON) --compiler-options "$(CFLAGS)" -c $< -o $@ |
| | | |
| | | obj: |
| | | mkdir -p obj |
| | | results: |
| | | mkdir -p results |
| | | |
| | | .PHONY: clean |
| | | |
| | | clean: |
| | | rm -rf $(OBJ) cnn |
| | | rm -rf $(OBJS) $(EXEC) |
| | | |