add global Makefile
src/Makefile uses now 'find' for looking for *.cpp files and we don't need Makefile.o.dep anymore
This commit is contained in:
@@ -1,68 +1,57 @@
|
||||
include Makefile.o.dep
|
||||
sourcefiles:=$(shell find . -name "*.cpp")
|
||||
objfiles:=$(patsubst %.cpp,%.o,$(sourcefiles))
|
||||
|
||||
name=mormsample
|
||||
|
||||
ifndef GLOBAL_WORKING_DIR
|
||||
GLOBAL_WORKING_DIR := $(shell pwd)/../..
|
||||
|
||||
ifndef CXX
|
||||
CXX = g++
|
||||
endif
|
||||
|
||||
ifndef CXXFLAGS
|
||||
CXXFLAGS = -Wall -pedantic -O2 -std=c++20 -I../src -I../../pikotools/src -I/usr/local/include
|
||||
endif
|
||||
|
||||
ifndef LDFLAGS
|
||||
LDFLAGS = -L/usr/local/lib
|
||||
endif
|
||||
|
||||
|
||||
CXX = g++10
|
||||
#CXX = clang++
|
||||
|
||||
# -fsanitize=address
|
||||
# -Wl,-rpath=/usr/local/lib/gcc5 or just compile with -static-libstdc++
|
||||
|
||||
CXXFLAGS = -Wl,-rpath=/usr/local/lib/gcc10 -Wfatal-errors -fPIC -Wall -pedantic -O0 -g3 -pthread -std=c++20 -I/usr/local/include -I$(GLOBAL_WORKING_DIR)/pikotools/src -I$(GLOBAL_WORKING_DIR)/morm/src
|
||||
LDFLAGS = -L/usr/local/lib
|
||||
name = mormsample
|
||||
|
||||
|
||||
export CXX
|
||||
export CXXFLAGS
|
||||
export LDFLAGS
|
||||
export GLOBAL_WORKING_DIR
|
||||
all: $(name)
|
||||
|
||||
|
||||
current_path := $(shell pwd)
|
||||
global_relative_working_dir := $(shell relative_path $(current_path) $(GLOBAL_WORKING_DIR))
|
||||
$(name): morm pikotools $(objfiles)
|
||||
$(CXX) -o $(name) $(CXXFLAGS) $(LDFLAGS) $(objfiles) ../src/morm.a ../../pikotools/src/pikotools.a $(LDFLAGS) -lpq -lpthread
|
||||
|
||||
|
||||
# IMPROVE ME
|
||||
# add dependency to pikotools
|
||||
all: morm $(name)
|
||||
|
||||
morm: FORCE
|
||||
@cd ../src ; $(MAKE) -e
|
||||
|
||||
|
||||
$(name): morm pikotools $(o)
|
||||
$(CXX) -o $(name) $(CXXFLAGS) $(LDFLAGS) $(o) $(GLOBAL_WORKING_DIR)/morm/src/morm.a $(GLOBAL_WORKING_DIR)/pikotools/src/pikotools.a $(LDFLAGS) -lpq -lpthread
|
||||
|
||||
|
||||
.PHONY: morm
|
||||
|
||||
|
||||
morm:
|
||||
@cd $(GLOBAL_WORKING_DIR)/morm/src ; $(MAKE) -e
|
||||
|
||||
|
||||
pikotools:
|
||||
@cd $(GLOBAL_WORKING_DIR)/pikotools/src ; $(MAKE) -e
|
||||
pikotools: FORCE
|
||||
@cd ../../pikotools/src ; $(MAKE) -e
|
||||
|
||||
|
||||
%.o: %.cpp
|
||||
$(CXX) -c $(CXXFLAGS) $<
|
||||
|
||||
|
||||
depend:
|
||||
makedepend -Y. -I$(global_relative_working_dir)/pikotools/src -I$(global_relative_working_dir)/morm/src -f- *.cpp > Makefile.dep
|
||||
echo -n "o = " > Makefile.o.dep
|
||||
ls -1 *.cpp | xargs -I foo echo -n foo " " | sed -E "s/([^\.]*)\.cpp[ ]/\1\.o/g" >> Makefile.o.dep
|
||||
$(CXX) -c $(CXXFLAGS) -o $@ $<
|
||||
|
||||
|
||||
clean:
|
||||
@cd $(GLOBAL_WORKING_DIR)/morm/src ; $(MAKE) -e clean
|
||||
rm -f *.o
|
||||
rm -f $(objfiles)
|
||||
rm -f $(name)
|
||||
|
||||
|
||||
depend:
|
||||
makedepend -Y. -I../src -I../../pikotools/src -f- $(sourcefiles) > Makefile.dep
|
||||
|
||||
|
||||
include Makefile.dep
|
||||
FORCE:
|
||||
|
||||
|
||||
|
||||
|
||||
-include Makefile.dep
|
||||
|
||||
|
@@ -1,17 +1,30 @@
|
||||
# DO NOT DELETE
|
||||
|
||||
main.o: sample01.h basesample.h ../../morm/src/morm.h
|
||||
main.o: ../../morm/src/morm_types.h ../../morm/src/model.h
|
||||
main.o: ../../morm/src/modelconnector.h ../../morm/src/clearer.h
|
||||
main.o: ../../morm/src/dbconnector.h ../../morm/src/queryresult.h
|
||||
main.o: ../../morm/src/ft.h ../../morm/src/flatconnector.h
|
||||
main.o: ../../morm/src/dbexpression.h ../../morm/src/baseexpression.h
|
||||
main.o: ../../morm/src/modelenv.h ../../morm/src/modeldata.h
|
||||
main.o: ../../morm/src/cursorhelper.h ../../morm/src/finderhelper.h
|
||||
main.o: ../../morm/src/fieldvaluehelper.h ../../morm/src/flatexpression.h
|
||||
main.o: ../../morm/src/modelwrapper.h ../../morm/src/finder.h
|
||||
main.o: ../../morm/src/cursor.h ../../morm/src/jsonexpression.h
|
||||
main.o: ../../morm/src/postgresqlexpression.h ../../morm/src/jsonconnector.h
|
||||
main.o: ../../morm/src/postgresqlconnector.h
|
||||
main.o: ../../morm/src/postgresqlqueryresult.h person.h language.h
|
||||
main.o: attachment.h type.h attachment2.h
|
||||
./main.o: ../../pikotools/src/mainoptions/mainoptionsparser.h
|
||||
./main.o: ../../pikotools/src/space/space.h
|
||||
./main.o: ../../pikotools/src/textstream/types.h
|
||||
./main.o: ../../pikotools/src/convert/inttostr.h
|
||||
./main.o: ../../pikotools/src/utf8/utf8.h
|
||||
./main.o: ../../pikotools/src/textstream/stream.h
|
||||
./main.o: ../../pikotools/src/utf8/utf8_templates.h
|
||||
./main.o: ../../pikotools/src/utf8/utf8_private.h sample01.h basesample.h
|
||||
./main.o: ../src/morm.h ../src/morm_types.h ../src/model.h
|
||||
./main.o: ../../pikotools/src/textstream/textstream.h
|
||||
./main.o: ../../pikotools/src/textstream/stream.h
|
||||
./main.o: ../../pikotools/src/date/date.h
|
||||
./main.o: ../../pikotools/src/membuffer/membuffer.h
|
||||
./main.o: ../../pikotools/src/textstream/types.h
|
||||
./main.o: ../../pikotools/src/utf8/utf8_stream.h ../src/modelconnector.h
|
||||
./main.o: ../src/clearer.h ../src/ft.h ../src/dbconnector.h
|
||||
./main.o: ../../pikotools/src/log/log.h ../../pikotools/src/log/filelog.h
|
||||
./main.o: ../src/queryresult.h ../src/flatconnector.h ../src/dbexpression.h
|
||||
./main.o: ../src/baseexpression.h ../src/modelenv.h ../src/modeldata.h
|
||||
./main.o: ../src/cursorhelper.h ../src/finderhelper.h
|
||||
./main.o: ../src/fieldvaluehelper.h ../src/wrapper.h ../src/spacewrapper.h
|
||||
./main.o: ../src/baseobjectwrapper.h ../src/modelcontainerwrapper.h
|
||||
./main.o: ../../pikotools/src/convert/text.h ../src/flatexpression.h
|
||||
./main.o: ../src/finder.h ../src/cursor.h ../src/jsonexpression.h
|
||||
./main.o: ../src/postgresqlexpression.h ../src/jsonconnector.h
|
||||
./main.o: ../src/postgresqlconnector.h ../src/postgresqlqueryresult.h
|
||||
./main.o: ../src/transaction.h person.h language.h attachment.h type.h
|
||||
./main.o: attachment2.h
|
||||
|
@@ -1 +0,0 @@
|
||||
o = main.o
|
Reference in New Issue
Block a user