mirror of
https://github.com/Zygo/bees.git
synced 2025-05-18 05:45:45 +02:00
Merge remote-tracking branch 'kakra/proposal/prepare-for-more-libs'
This commit is contained in:
commit
5533d09b3d
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,6 +1,7 @@
|
||||
*.[ao]
|
||||
*.bak
|
||||
*.new
|
||||
*.dep
|
||||
*.so*
|
||||
Doxyfile
|
||||
README.html
|
||||
|
2
Makefile
2
Makefile
@ -29,7 +29,7 @@ test: lib src
|
||||
$(MAKE) -C test
|
||||
|
||||
scripts/%: scripts/%.in
|
||||
sed -e's#@LIBEXEC_PREFIX@#$(LIBEXEC_PREFIX)#' -e's#@PREFIX@#$(PREFIX)#' "$<" >"$@"
|
||||
sed -e's#@LIBEXEC_PREFIX@#$(LIBEXEC_PREFIX)#' -e's#@PREFIX@#$(PREFIX)#' $< >$@
|
||||
|
||||
scripts: scripts/beesd scripts/beesd@.service
|
||||
|
||||
|
27
lib/Makefile
27
lib/Makefile
@ -1,8 +1,9 @@
|
||||
TAG := $(shell git describe --always --dirty || echo UNKNOWN)
|
||||
|
||||
default: libcrucible.so
|
||||
%.so: Makefile
|
||||
|
||||
OBJS = \
|
||||
CRUCIBLE_OBJS = \
|
||||
chatter.o \
|
||||
cleanup.o \
|
||||
crc64.o \
|
||||
@ -19,20 +20,26 @@ OBJS = \
|
||||
uuid.o \
|
||||
.version.o \
|
||||
|
||||
libcrucible.so: $(CRUCIBLE_OBJS) -luuid
|
||||
|
||||
include ../makeflags
|
||||
|
||||
depends.mk: *.cc
|
||||
for x in *.cc; do $(CXX) $(CXXFLAGS) -M "$$x"; done > depends.mk.new
|
||||
mv -fv depends.mk.new depends.mk
|
||||
.depends/%.dep: %.cc Makefile
|
||||
@mkdir -p .depends
|
||||
$(CXX) $(CXXFLAGS) -M -MF $@ -MT $(<:.cc=.o) $<
|
||||
|
||||
depends.mk: $(CRUCIBLE_OBJS:%.o=.depends/%.dep)
|
||||
cat $^ > $@.new
|
||||
mv -f $@.new $@
|
||||
|
||||
.version.cc: Makefile ../makeflags *.cc ../include/crucible/*.h
|
||||
echo "namespace crucible { const char *VERSION = \"$(TAG)\"; }" > .version.new.cc
|
||||
mv -f .version.new.cc .version.cc
|
||||
echo "namespace crucible { const char *VERSION = \"$(TAG)\"; }" > $@.new
|
||||
mv -f $@.new $@
|
||||
|
||||
-include depends.mk
|
||||
include depends.mk
|
||||
|
||||
%.o: %.cc ../include/crucible/%.h
|
||||
%.o: %.cc ../makeflags
|
||||
$(CXX) $(CXXFLAGS) -fPIC -o $@ -c $<
|
||||
|
||||
libcrucible.so: $(OBJS) Makefile
|
||||
$(CXX) $(LDFLAGS) -fPIC -o $@ $(OBJS) -shared -Wl,-soname,$@ -luuid
|
||||
%.so:
|
||||
$(CXX) $(LDFLAGS) -fPIC -shared -Wl,-soname,$@ -o $@ $^
|
||||
|
48
src/Makefile
48
src/Makefile
@ -3,30 +3,13 @@ PROGRAMS = \
|
||||
../bin/fiemap \
|
||||
../bin/fiewalk \
|
||||
|
||||
all: $(PROGRAMS) depends.mk
|
||||
all: $(PROGRAMS)
|
||||
|
||||
include ../makeflags
|
||||
|
||||
LIBS = -lcrucible -lpthread
|
||||
LDFLAGS = -L../lib
|
||||
|
||||
depends.mk: Makefile *.cc
|
||||
for x in *.cc; do $(CXX) $(CXXFLAGS) -M "$$x"; done > depends.mk.new
|
||||
mv -fv depends.mk.new depends.mk
|
||||
|
||||
bees-version.c: Makefile *.cc *.h
|
||||
echo "const char *BEES_VERSION = \"$(shell git describe --always --dirty || echo UNKNOWN)\";" > bees-version.new.c
|
||||
mv -f bees-version.new.c bees-version.c
|
||||
|
||||
-include depends.mk
|
||||
|
||||
%.o: %.cc %.h
|
||||
$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||
|
||||
../bin/%: %.o
|
||||
@echo Implicit bin rule "$<" '->' "$@"
|
||||
$(CXX) $(CXXFLAGS) -o "$@" "$<" $(LDFLAGS) $(LIBS)
|
||||
|
||||
BEES_OBJS = \
|
||||
bees.o \
|
||||
bees-context.o \
|
||||
@ -35,11 +18,30 @@ BEES_OBJS = \
|
||||
bees-roots.o \
|
||||
bees-thread.o \
|
||||
bees-types.o \
|
||||
bees-version.o \
|
||||
|
||||
../bin/bees: $(BEES_OBJS)
|
||||
$(CXX) $(CXXFLAGS) -o "$@" $(BEES_OBJS) $(LDFLAGS) $(LIBS)
|
||||
bees-version.c: bees.h $(BEES_OBJS:.o=.cc) Makefile
|
||||
echo "const char *BEES_VERSION = \"$(shell git describe --always --dirty || echo UNKNOWN)\";" > bees-version.new.c
|
||||
mv -f bees-version.new.c bees-version.c
|
||||
|
||||
.depends/%.dep: %.cc Makefile
|
||||
@mkdir -p .depends
|
||||
$(CXX) $(CXXFLAGS) -M -MF $@ -MT $(<:.cc=.o) $<
|
||||
|
||||
depends.mk: $(BEES_OBJS:%.o=.depends/%.dep)
|
||||
cat $^ > $@.new
|
||||
mv -f $@.new $@
|
||||
|
||||
include depends.mk
|
||||
|
||||
%.o: %.cc %.h
|
||||
$(CXX) $(CXXFLAGS) -o $@ -c $<
|
||||
|
||||
../bin/%: %.o
|
||||
@echo Implicit bin rule "$<" '->' "$@"
|
||||
$(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $< $(LIBS)
|
||||
|
||||
../bin/bees: $(BEES_OBJS) bees-version.o
|
||||
$(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)
|
||||
|
||||
clean:
|
||||
-rm -fv bees-version.h
|
||||
-rm -fv *.o bees-version.c
|
||||
rm -fv *.o bees-version.c
|
||||
|
@ -17,19 +17,23 @@ include ../makeflags
|
||||
LIBS = -lcrucible -lpthread
|
||||
LDFLAGS = -L../lib -Wl,-rpath=$(shell realpath ../lib)
|
||||
|
||||
depends.mk: *.cc
|
||||
for x in *.cc; do $(CXX) $(CXXFLAGS) -M "$$x"; done > depends.mk.new
|
||||
mv -fv depends.mk.new depends.mk
|
||||
.depends/%.dep: %.cc tests.h Makefile
|
||||
@mkdir -p .depends
|
||||
$(CXX) $(CXXFLAGS) -M -MF $@ -MT $(<:.cc=.o) $<
|
||||
|
||||
-include depends.mk
|
||||
depends.mk: $(PROGRAMS:%=.depends/%.dep)
|
||||
cat $^ > $@.new
|
||||
mv -f $@.new $@
|
||||
|
||||
include depends.mk
|
||||
|
||||
%.o: %.cc %.h ../makeflags
|
||||
-echo "Implicit rule %.o: %.cc" >&2
|
||||
$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
|
||||
@echo "Implicit rule %.o: %.cc"
|
||||
$(CXX) $(CXXFLAGS) -o $@ -c $<
|
||||
|
||||
%: %.o ../makeflags
|
||||
-echo "Implicit rule %: %.o" >&2
|
||||
$(CXX) $(CXXFLAGS) -o "$@" "$<" $(LDFLAGS) $(LIBS)
|
||||
@echo "Implicit rule %: %.o"
|
||||
$(CXX) $(CXXFLAGS) $(LDFLAGS) $(LIBS) -o $@ $<
|
||||
|
||||
clean:
|
||||
-rm -fv *.o
|
||||
rm -fv *.o
|
||||
|
Loading…
x
Reference in New Issue
Block a user