mirror of
https://github.com/davidalbertonogueira/MLP.git
synced 2025-12-16 20:07:07 +03:00
Add Makefile.
This commit is contained in:
64
Makefile
Normal file
64
Makefile
Normal file
@@ -0,0 +1,64 @@
|
||||
#!/bin/bash
|
||||
# Makefile for MLP
|
||||
CC = g++
|
||||
DEBUG = -g
|
||||
PROJNAME = mlp
|
||||
|
||||
HEADERPATH = ./src
|
||||
SOURCEPATH = ./src
|
||||
|
||||
LOCALDEPSINCLUDES = ./deps
|
||||
AUXINCLUDES =
|
||||
AUXLIBS =
|
||||
|
||||
INCLUDES = -I$(LOCALDEPSINCLUDES) -I$(AUXINCLUDES)
|
||||
LIBS = -L$(AUXLIBS)
|
||||
#LIBS += -L/usr/local/lib/
|
||||
CFLAGS = -std=gnu++11 -std=c++11 -O3 -Wall -fmessage-length=0 -fPIC $(INCLUDES)
|
||||
CFLAGS += $(DEBUG)
|
||||
LFLAGS = $(LIBS)
|
||||
#For verbosity
|
||||
LFLAGS += -v
|
||||
LDFLAGS = -shared
|
||||
|
||||
HDRS = $(shell find $(HEADERPATH) $(AUXINCLUDES) $(LOCALDEPSINCLUDES) -name '*.h')
|
||||
HDRS += $(shell find $(HEADERPATH) $(AUXINCLUDES) $(LOCALDEPSINCLUDES) -name '*.h++')
|
||||
SRCS = $(shell find $(SOURCEPATH) -name '*.cpp')
|
||||
SRCS += $(shell find $(SOURCEPATH) -name '*.c')
|
||||
OBJS = $(SRCS:.cpp=.o)
|
||||
TXTS = $(wildcard *.txt)
|
||||
SCRIPTS = $(wildcard *.sh)
|
||||
|
||||
all : MLPTest LayerTest NodeTest $(PROJNAME).a $(PROJNAME).so
|
||||
|
||||
$(PROJNAME).a : $(SOURCEPATH)/MLP.o
|
||||
@echo Creating static lib $@
|
||||
ar rcs $@ $(SOURCEPATH)/MLP.o
|
||||
|
||||
$(PROJNAME).so : $(SOURCEPATH)/MLP.o
|
||||
@echo Creating dynamic lib $@
|
||||
$(CC) -o $@ $(SOURCEPATH)/MLP.o $(LDFLAGS) $(LFLAGS)
|
||||
|
||||
%.o: %.cpp $(HDRS)
|
||||
$(CC) -c $(CFLAGS) $(LFLAGS) -o $@ $<
|
||||
|
||||
MLPTest: $(SOURCEPATH)/MLPTest.o $(SOURCEPATH)/MLP.o
|
||||
@echo Compiling program $@
|
||||
$(CC) $^ $(CFLAGS) $(LFLAGS) -o $@
|
||||
|
||||
LayerTest: $(SOURCEPATH)/LayerTest.o $(SOURCEPATH)/MLP.o
|
||||
@echo Compiling program $@
|
||||
$(CC) $^ $(CFLAGS) $(LFLAGS) -o $@
|
||||
|
||||
NodeTest: $(SOURCEPATH)/NodeTest.o $(SOURCEPATH)/MLP.o
|
||||
@echo Compiling program $@
|
||||
$(CC) $^ $(CFLAGS) $(LFLAGS) -o $@
|
||||
clean:
|
||||
@echo Clean
|
||||
rm -f *~ *.o *~
|
||||
@echo Success
|
||||
|
||||
cleanall:
|
||||
@echo Clean All
|
||||
rm -f *~ $(SOURCEPATH)/*.o *~ $(PROJNAME).a $(PROJNAME).so MLPTest LayerTest NodeTest
|
||||
@echo Success
|
||||
Reference in New Issue
Block a user