mirror of
https://github.com/Zygo/bees.git
synced 2025-05-17 21:35:45 +02:00
This commit brings back -O3 but in an overridable way. This should make downstream distributions happy enough to accept it. While at the subject, let's apply the same fixup logic to LDFLAGS, too. This commit also properly gets rid of the implicit rules which collided too easily with the depends.mk. Signed-off-by: Kai Krakow <kai@kaishome.de>
51 lines
1003 B
Makefile
51 lines
1003 B
Makefile
TAG := $(shell git describe --always --dirty || echo UNKNOWN)
|
|
|
|
default: libcrucible.so
|
|
%.so: Makefile
|
|
|
|
CRUCIBLE_OBJS = \
|
|
chatter.o \
|
|
cleanup.o \
|
|
crc64.o \
|
|
error.o \
|
|
extentwalker.o \
|
|
fd.o \
|
|
fs.o \
|
|
ntoa.o \
|
|
path.o \
|
|
process.o \
|
|
string.o \
|
|
task.o \
|
|
time.o \
|
|
uuid.o \
|
|
|
|
include ../makeflags
|
|
include ../Defines.mk
|
|
|
|
BEES_LDFLAGS = $(LDFLAGS)
|
|
|
|
configure.h: configure.h.in
|
|
$(TEMPLATE_COMPILER)
|
|
|
|
.depends:
|
|
mkdir -p $@
|
|
|
|
.depends/%.dep: %.cc configure.h Makefile | .depends
|
|
$(CXX) $(BEES_CXXFLAGS) -M -MF $@ -MT $(<:.cc=.o) $<
|
|
|
|
depends.mk: $(CRUCIBLE_OBJS:%.o=.depends/%.dep)
|
|
cat $^ > $@.new
|
|
mv -f $@.new $@
|
|
|
|
.version.cc: configure.h Makefile ../makeflags $(CRUCIBLE_OBJS:.o=.cc) ../include/crucible/*.h
|
|
echo "namespace crucible { const char *VERSION = \"$(TAG)\"; }" > $@.new
|
|
mv -f $@.new $@
|
|
|
|
include depends.mk
|
|
|
|
%.o: %.cc ../makeflags
|
|
$(CXX) $(BEES_CXXFLAGS) -fPIC -o $@ -c $<
|
|
|
|
libcrucible.so: $(CRUCIBLE_OBJS) .version.o
|
|
$(CXX) $(BEES_LDFLAGS) -fPIC -shared -Wl,-soname,$@ -o $@ $^ -luuid
|