# $PostgreSQL$ HASHTYPESVERSION = 0.1.4 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 sql/hashtypes--0.1.2--0.1.3.sql DATA = $(filter-out $(DATA_built), $(wildcard sql/*--*.sql)) REGRESS = regress_sha regress_sha_upgrade 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) ifeq ($(shell test $(VERSION_NUM) -ge 90600; echo $$?),0) ALTEROP = alter_op else ALTEROP = no_alter_op endif $(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 >> $@ sql/hashtypes--0.1.2--0.1.3.sql: sql/hashtypes--0.1.2--0.1.3.sql.in sed 's,MODULE_PATHNAME,$$libdir/$*,g' $< >$@ cat ${<}_${ALTEROP} >> $@ # 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