mirror of
				https://github.com/Zygo/bees.git
				synced 2025-11-04 04:00:36 +01: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
 |