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:
parent
e02fe7a235
commit
a212a69517
|
@ -0,0 +1,26 @@
|
||||||
|
|
||||||
|
|
||||||
|
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:
|
||||||
|
|
43
src/Makefile
43
src/Makefile
|
@ -1,36 +1,45 @@
|
||||||
include Makefile.o.dep
|
sourcefiles:=$(shell find . -name "*.cpp")
|
||||||
|
objfiles:=$(patsubst %.cpp,%.o,$(sourcefiles))
|
||||||
|
|
||||||
libname=tito.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 = tito.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:
|
|
||||||
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
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
# DO NOT DELETE
|
# DO NOT DELETE
|
||||||
|
|
||||||
aes.o: aes.h
|
./aes.o: aes.h
|
||||||
base32.o: base32.h
|
./base32.o: base32.h
|
||||||
base64.o: base64.h
|
./base64.o: base64.h
|
||||||
crypto.o: crypto.h aes.h base64.h ../../pikotools/src/utf8/utf8.h
|
./crypto.o: crypto.h aes.h base64.h ../../pikotools/src/utf8/utf8.h
|
||||||
crypto.o: ../../pikotools/src/textstream/stream.h
|
./crypto.o: ../../pikotools/src/textstream/stream.h
|
||||||
crypto.o: ../../pikotools/src/utf8/utf8_templates.h
|
./crypto.o: ../../pikotools/src/utf8/utf8_templates.h
|
||||||
crypto.o: ../../pikotools/src/utf8/utf8_private.h misc.h
|
./crypto.o: ../../pikotools/src/utf8/utf8_private.h misc.h
|
||||||
misc.o: misc.h
|
./misc.o: misc.h
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
o = aes.o base32.o base64.o crypto.o misc.o
|
|
Loading…
Reference in New Issue