diff options
Diffstat (limited to 'flow-native/Makefile.old')
-rw-r--r-- | flow-native/Makefile.old | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/flow-native/Makefile.old b/flow-native/Makefile.old new file mode 100644 index 0000000..8827b5e --- /dev/null +++ b/flow-native/Makefile.old @@ -0,0 +1,62 @@ +# Build native binaries for flow. +# =============================== +# This makefile is intended for linux based systems. + +# Include common settings +include common.mk + +# Canonical name of library +CNAME=lib$(NAME).so + +# Java library link, used to enable loading of +# semanticaly versioned librraies from java +JAVALIB=lib$(NAME)$(MAJOR).so + +# soname of library +SONAME=$(CNAME).$(MAJOR) + +# Actual file name of library +TARGET=$(SONAME).$(MINOR).$(MICRO) + +# Linux-specific flags +LDFLAGS+=-shared -Wl,-soname,$(SONAME) +INCLUDES+=$(JNI_INCLUDE) + +# All final products that should be installed +PRODUCTS=$(TARGET) $(SONAME) $(JAVALIB) + +# Build library and all appropriate links +all: $(PRODUCTS) + +# Build actual library +$(TARGET): $(OBJECTS) + $(CC) $(LDFLAGS) -o $@ $^ + +# Create soname link +$(SONAME): $(TARGET) + ln -s $< $@ + +# Create dev link +$(JAVALIB): $(SONAME) + ln -s $< $@ + +# Compile objects +%.o: %.c + $(CC) $(CFLAGS) $(addprefix -I, $(INCLUDES)) -o $@ -c $< + +# Install resulting artifacts +install: all + @for product in $(PRODUCTS); do cp -P -t $(DESTDIR)/$(PREFIX) $${product}; done + +# Uninstall resulting artifacts +uninstall: + @for product in $(PRODUCTS); do rm $(DESTDIR)/$(PREFIX)/$${product}; done + +# Clean build +clean: + rm -f posix/*.o + rm -f posix/*.so + rm -f *.o + $(foreach product, $(PRODUCTS), rm -f $(product);) + +.PHONY: clean install uninstall
\ No newline at end of file |