mirror of
				https://github.com/Zygo/bees.git
				synced 2025-11-04 12:10:34 +01:00 
			
		
		
		
	We should probably not put it into the objects list. Let's instead explicitly put it as a depend of libcrucible.so. This allows us to not use *.cc as a depend for .version.cc which makes more sense as CRUCIBLE_OBJS is also explicitly defined and not built from wildcards. Signed-off-by: Kai Krakow <kai@kaishome.de>
		
			
				
	
	
		
			49 lines
		
	
	
		
			953 B
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			953 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 \
 | 
						|
 | 
						|
libcrucible.so: $(CRUCIBLE_OBJS) .version.o -luuid
 | 
						|
 | 
						|
include ../makeflags
 | 
						|
include ../Defines.mk
 | 
						|
 | 
						|
configure.h: configure.h.in
 | 
						|
	$(TEMPLATE_COMPILER)
 | 
						|
 | 
						|
.depends/%.dep: %.cc configure.h 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: 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) $(CXXFLAGS) -fPIC -o $@ -c $<
 | 
						|
 | 
						|
%.so:
 | 
						|
	$(CXX) $(LDFLAGS) -fPIC -shared -Wl,-soname,$@ -o $@ $^
 |