105 lines
2.3 KiB
Makefile
105 lines
2.3 KiB
Makefile
# file neuron_t/Makefile
|
|
# lib: -lneurons
|
|
|
|
PROJECT_LIB=libneurons.so
|
|
ROOTPROJECTDIR:=$(realpath ..)
|
|
CC=gcc
|
|
ROOT_DIR=$(ROOTPROJECTDIR)/neuron_t
|
|
YTESTDIR=$(ROOTPROJECTDIR)/ytest_t
|
|
YPERMDIR=$(ROOTPROJECTDIR)/ypermutation_t
|
|
|
|
TENSDIR=$(ROOTPROJECTDIR)/tensor_t
|
|
LISTDIR=$(ROOTPROJECTDIR)/list_t
|
|
|
|
NEURODIR=$(ROOT_DIR)
|
|
DIMDIR=$(ROOTPROJECTDIR)/dimension_t
|
|
|
|
#CFLAGS=-I$(INCLUDE_DIR) -I$(YPERMDIR)/src -I$(YTESTDIR)/include_ytest/include -I$(DIMDIR)/src -I$(TENSDIR)/src #"-D DEBUG=1"
|
|
INCLUDE=-I$(NEURODIR)/src -I$(YPERMDIR)/src -I$(DIMDIR)/src -I$(TENSDIR)/src -I$(LISTDIR)/src #"-D DEBUG=1"
|
|
#LDFLAGS=-L$(YTESTDIR) -lytest -lOpenCL -lm -lpthread
|
|
#CFLAGS= -Wall -Werror -fpic $(INCLUDE)
|
|
CFLAGS= -Wall -Werror -fpic $(INCLUDE)
|
|
LDFLAGS= -lOpenCL -lpthread
|
|
|
|
#SRC_DIR=$(ROOT_DIR)/src
|
|
#SRC=$(wildcard */*/*.c)
|
|
SRC=$(wildcard **/**/*.c)
|
|
#HEADS=$(OBJS:.o=.h)
|
|
TEST_DIR=$(PWD)/test
|
|
|
|
EXECSRC=$(NAME_TEST).c
|
|
#EXECSRC=openF.c
|
|
|
|
EXEC=launch_$(NAME_TEST)_m
|
|
|
|
NEUROSRC=$(NEURODIR)/src/neuron_t/neuron_t.c
|
|
NEUROSRC_O=$(NEUROSRC:.c=.o)
|
|
|
|
INCLUDE_HEADERS_NEURONS=$(NEURODIR)/include_neurons/include
|
|
|
|
TENSRC=$(TENSDIR)/src/tensor_t/tensor_t.c
|
|
TENSRC_O=$(TENSRC:.c=.o)
|
|
|
|
PERMSRC_O=$(YPERMDIR)/src/permutation_t/permutation_t.o
|
|
|
|
DIMSRC_O=$(DIMDIR)/src/dimension_t/dimension_t.o
|
|
|
|
TOPTARGETS := all clean
|
|
|
|
#DEPS=$(DIMDIR) $(YPERMDIR) $(YTESTDIR) $(TENSDIR) $(NEURODIR)
|
|
DEPS=$(DIMDIR) $(YPERMDIR) $(TENSDIR) $(NEURODIR)
|
|
|
|
OBJ=$(DIMSRC_O) $(PERMSRC_O) $(TENSRC_O) $(NEUROSRC_O)
|
|
|
|
#LIB_YTEST=$(YTESTDIR)/libytest.so
|
|
|
|
|
|
$(TOPTARGETS): $(DEPS)
|
|
|
|
all: $(PROJECT_LIB) update_headers
|
|
|
|
$(PROJECT_LIB): $(OBJ)
|
|
echo $(OBJ)
|
|
#$(CC) -shared -o $@ $^ $(INCLUDE) $(LDFLAGS)
|
|
#$(CC) -shared -o $@ $^ $(LDFLAGS)
|
|
#$(CC) -shared -o $@ $^ $(CFLAGS)
|
|
$(CC) -shared -o $@ $^ $(CFLAGS) $(LDFLAGS)
|
|
|
|
|
|
|
|
$(DEPS):
|
|
$(MAKE) -C $@ $(MAKECMDGOALS)
|
|
|
|
update_headers: $(PROJECT_LIB)
|
|
for file_h in $(DEPS); do \
|
|
cd "$$file_h/src" ; \
|
|
cp --parents */*.h $(INCLUDE_HEADERS_NEURONS)/ ; \
|
|
done
|
|
|
|
|
|
#PERMSRC_O=$(PERMSRC:.c=.o)
|
|
#SETTSRC_O=$(ROOTPROJECTDIR)/src/set_theoric_t/set_theoric_t.o
|
|
#SETTSRC_O=$(SETTSRC:.c=.o)
|
|
#TOOLSRC=$(TOOLDIR)/src/tools_t/tools_t.c
|
|
#TOOLSRC_O=$(TOOLSRC:.c=.o)
|
|
|
|
|
|
|
|
#$(EXEC): $(EXECSRC) $(OBJ)
|
|
# $(CC) -o $@ $^ $(CFLAGS) $(LDFLAGS)
|
|
|
|
.PHONY: clean mrproper
|
|
|
|
clean:
|
|
rm -f $(OBJ)
|
|
|
|
mrproper: clean
|
|
rm -f $(PROJECT_LIB)
|
|
|
|
remove_headers:
|
|
rm -r $(INCLUDE_HEADERS_NEURONS)/*
|
|
|
|
|
|
#run: $(EXEC)
|
|
# $(EXEC) -h
|