# $PostgreSQL$ HASHTYPESVERSION = 0.1.3 MODULES = hashtypes EXTENSION = hashtypes DOCS = README.hashtypes MODULE_big = hashtypes OBJS = src/common.o src/md5.o src/crc32.o $(LN_OBJS) DATA_built = sql/hashtypes--$(HASHTYPESVERSION).sql REGRESS = regress_sha regress_binary PG_CONFIG = pg_config LN_OBJS = src/sha1.o src/sha224.o src/sha256.o src/sha384.o src/sha512.o LN_SOURCES = $(subst .o,.c,$(LN_OBJS)) PGXS := $(shell $(PG_CONFIG) --pgxs) include $(PGXS) $(LN_SOURCES) : % : src/sha.c rm -f $@ && $(LN_S) $(notdir $<) $@ clean: clean-ln clean-sql.in clean-ln: rm -f $(LN_SOURCES) clean-sql.in: rm -f sql/hashtypes--$(HASHTYPESVERSION).sql.in TYPES=1 224 256 384 512 length_1=20 length_224=28 length_256=32 length_384=48 length_512=64 sql/hashtypes--$(HASHTYPESVERSION).sql.in: sql/sha.sql.type sql/md5.sql sql/crc32.sql > $@ $(foreach type,$(TYPES),sed -e "s/@SHATYPE@/$(type)/g" -e "s/@SHALENGTH@/$(length_$(type))/g" $< >> $@ ; ) cat sql/md5.sql >> $@ cat sql/crc32.sql >> $@ # Maybe this can be built using $(TYPES) too but I don't see how src/sha1.o: CFLAGS+=-DSHA_NAME=1 -DSHA_LENGTH=20 src/sha224.o: CFLAGS+=-DSHA_NAME=224 -DSHA_LENGTH=28 src/sha256.o: CFLAGS+=-DSHA_NAME=256 -DSHA_LENGTH=32 src/sha384.o: CFLAGS+=-DSHA_NAME=384 -DSHA_LENGTH=48 src/sha512.o: CFLAGS+=-DSHA_NAME=512 -DSHA_LENGTH=64 dist: git archive --format zip \ --prefix=hashtypes-$(HASHTYPESVERSION)/ \ --output hashtypes-$(HASHTYPESVERSION).zip \ master