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:
Tomasz Sowa 2022-06-26 06:16:09 +02:00
parent c31c7dfb63
commit a03e3f5d21
4 changed files with 92 additions and 60 deletions

25
Makefile Normal file
View File

@ -0,0 +1,25 @@
export CXX
export CXXFLAGS
export AR
all: src
src: FORCE
$(MAKE) -C src
clean: FORCE
$(MAKE) -C src clean
depend: FORCE
$(MAKE) -C src depend
FORCE:

View File

@ -1,39 +1,45 @@
include Makefile.o.dep sourcefiles:=$(shell find . -name "*.cpp")
objfiles:=$(patsubst %.cpp,%.o,$(sourcefiles))
libname=ezc.a
ifndef GLOBAL_WORKING_DIR
GLOBAL_WORKING_DIR := $(shell pwd)/../.. ifndef CXX
CXX = g++
endif endif
current_path := $(shell pwd) ifndef CXXFLAGS
global_relative_working_dir := $(shell relative_path $(current_path) $(GLOBAL_WORKING_DIR)) CXXFLAGS = -Wall -pedantic -O2 -std=c++20 -I../../pikotools/src -I/usr/local/include
endif
ifndef AR
AR = ar
endif
libname = ezc.a
all: $(libname) all: $(libname)
$(libname): $(o)
ar rcs $(libname) $(o)
$(libname): $(objfiles)
$(AR) rcs $(libname) $(objfiles)
%.o: %.cpp %.o: %.cpp
$(CXX) -c $(CXXFLAGS) -I$(GLOBAL_WORKING_DIR)/pikotools/src $< $(CXX) -c $(CXXFLAGS) -o $@ $<
depend:
# !! IMPROVE ME
# as Ezc is a different project we rather shoudn't use '-I$(global_relative_working_dir)/pikotools' here?
makedepend -Y. -I$(global_relative_working_dir)/pikotools/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
clean: clean:
rm -f *.o rm -f $(objfiles)
rm -f $(libname) rm -f $(libname)
include Makefile.dep depend:
makedepend -Y. -I../../pikotools/src -f- $(sourcefiles) > Makefile.dep
-include Makefile.dep

View File

@ -1,41 +1,43 @@
# DO NOT DELETE # DO NOT DELETE
blocks.o: blocks.h item.h cache.h functions.h ../../pikotools/src/utf8/utf8.h ./blocks.o: blocks.h item.h cache.h functions.h
blocks.o: ../../pikotools/src/textstream/stream.h ./blocks.o: ../../pikotools/src/utf8/utf8.h
blocks.o: ../../pikotools/src/utf8/utf8_templates.h ./blocks.o: ../../pikotools/src/textstream/stream.h
blocks.o: ../../pikotools/src/utf8/utf8_private.h funinfo.h objects.h ./blocks.o: ../../pikotools/src/utf8/utf8_templates.h
cache.o: cache.h item.h functions.h ../../pikotools/src/utf8/utf8.h ./blocks.o: ../../pikotools/src/utf8/utf8_private.h funinfo.h objects.h
cache.o: ../../pikotools/src/textstream/stream.h ./cache.o: cache.h item.h functions.h ../../pikotools/src/utf8/utf8.h
cache.o: ../../pikotools/src/utf8/utf8_templates.h ./cache.o: ../../pikotools/src/textstream/stream.h
cache.o: ../../pikotools/src/utf8/utf8_private.h funinfo.h objects.h blocks.h ./cache.o: ../../pikotools/src/utf8/utf8_templates.h
item.o: item.h ./cache.o: ../../pikotools/src/utf8/utf8_private.h funinfo.h objects.h
models.o: models.h ./cache.o: blocks.h
pattern.o: pattern.h item.h cache.h functions.h ./item.o: item.h
pattern.o: ../../pikotools/src/utf8/utf8.h ./pattern.o: pattern.h item.h cache.h functions.h
pattern.o: ../../pikotools/src/textstream/stream.h ./pattern.o: ../../pikotools/src/utf8/utf8.h
pattern.o: ../../pikotools/src/utf8/utf8_templates.h ./pattern.o: ../../pikotools/src/textstream/stream.h
pattern.o: ../../pikotools/src/utf8/utf8_private.h funinfo.h objects.h ./pattern.o: ../../pikotools/src/utf8/utf8_templates.h
pattern.o: blocks.h ./pattern.o: ../../pikotools/src/utf8/utf8_private.h funinfo.h objects.h
patternparser.o: patternparser.h blocks.h item.h cache.h functions.h ./pattern.o: blocks.h
patternparser.o: ../../pikotools/src/utf8/utf8.h ./patternparser.o: patternparser.h blocks.h item.h cache.h functions.h
patternparser.o: ../../pikotools/src/textstream/stream.h ./patternparser.o: ../../pikotools/src/utf8/utf8.h
patternparser.o: ../../pikotools/src/utf8/utf8_templates.h ./patternparser.o: ../../pikotools/src/textstream/stream.h
patternparser.o: ../../pikotools/src/utf8/utf8_private.h funinfo.h objects.h ./patternparser.o: ../../pikotools/src/utf8/utf8_templates.h
patternparser.o: pattern.h ../../pikotools/src/log/log.h ./patternparser.o: ../../pikotools/src/utf8/utf8_private.h funinfo.h
patternparser.o: ../../pikotools/src/textstream/textstream.h ./patternparser.o: objects.h pattern.h ../../pikotools/src/log/log.h
patternparser.o: ../../pikotools/src/textstream/stream.h ./patternparser.o: ../../pikotools/src/textstream/textstream.h
patternparser.o: ../../pikotools/src/space/space.h ./patternparser.o: ../../pikotools/src/textstream/stream.h
patternparser.o: ../../pikotools/src/textstream/types.h ./patternparser.o: ../../pikotools/src/space/space.h
patternparser.o: ../../pikotools/src/convert/inttostr.h ./patternparser.o: ../../pikotools/src/textstream/types.h
patternparser.o: ../../pikotools/src/date/date.h ./patternparser.o: ../../pikotools/src/convert/inttostr.h
patternparser.o: ../../pikotools/src/membuffer/membuffer.h ./patternparser.o: ../../pikotools/src/date/date.h
patternparser.o: ../../pikotools/src/textstream/types.h ./patternparser.o: ../../pikotools/src/membuffer/membuffer.h
patternparser.o: ../../pikotools/src/utf8/utf8_stream.h ./patternparser.o: ../../pikotools/src/textstream/types.h
patternparser.o: ../../pikotools/src/log/filelog.h ./patternparser.o: ../../pikotools/src/utf8/utf8_stream.h
patternparser.o: ../../pikotools/src/convert/convert.h ./patternparser.o: ../../pikotools/src/log/filelog.h
patternparser.o: ../../pikotools/src/convert/inttostr.h ./patternparser.o: ../../pikotools/src/convert/convert.h
patternparser.o: ../../pikotools/src/convert/patternreplacer.h ./patternparser.o: ../../pikotools/src/convert/inttostr.h
patternparser.o: ../../pikotools/src/convert/strtoint.h ./patternparser.o: ../../pikotools/src/convert/patternreplacer.h
patternparser.o: ../../pikotools/src/convert/text.h ./patternparser.o: ../../pikotools/src/convert/strtoint.h
patternparser.o: ../../pikotools/src/convert/misc.h ./patternparser.o: ../../pikotools/src/convert/text.h
patternparser.o: ../../pikotools/src/convert/double.h ./patternparser.o: ../../pikotools/src/convert/misc.h
./patternparser.o: ../../pikotools/src/convert/double.h
./models.o: models.h

View File

@ -1 +0,0 @@
o = blocks.o cache.o item.o models.o pattern.o patternparser.o