| .PHONY: all check clean dist distclean doc install install-headers regressions uninstall |
| |
| BUILD_DIR=@BUILD_DIR@ |
| SRC_DIR=@SRC_DIR@ |
| CFLAGS=@CFLAGS@ |
| VERSION=@VERSION@ |
| VERSION_MAJOR=@VERSION_MAJOR@ |
| PREFIX=@PREFIX@ |
| LIBRARY=@LIBRARY@ |
| HEADERS=@HEADERS@ |
| PKGCONFIG_DATA=@LIBRARY@/pkgconfig |
| LDNAME=@LDNAME@ |
| LDNAME_VERSION=@LDNAME_VERSION@ |
| LDNAME_MAJOR=@LDNAME_MAJOR@ |
| |
| all: doc |
| $(MAKE) -C src all || exit |
| @echo |
| @echo |
| @echo ---[ Concurrency Kit has built successfully. You may now \"make install\". |
| |
| doc: |
| $(MAKE) -C doc all || exit |
| @echo ---[ Manual pages are ready for installation. |
| |
| regressions: |
| $(MAKE) -C regressions all || exit |
| @echo ---[ Regressions have built successfully. |
| |
| check: regressions |
| @echo ---[ Executing unit tests... |
| $(MAKE) -C regressions check |
| @echo ---[ Unit tests have completed successfully. |
| |
| install-headers: |
| mkdir -p $(DESTDIR)/$(HEADERS) || exit |
| cp $(SRC_DIR)/include/*.h $(DESTDIR)/$(HEADERS) || exit |
| chmod 644 $(DESTDIR)/$(HEADERS)/ck_*.h || exit |
| mkdir -p $(DESTDIR)$(HEADERS)/gcc || exit |
| cp -r $(SRC_DIR)/include/gcc/* $(DESTDIR)/$(HEADERS)/gcc || exit |
| cp include/ck_md.h $(DESTDIR)/$(HEADERS)/ck_md.h || exit |
| chmod 755 $(DESTDIR)/$(HEADERS)/gcc |
| chmod 644 $(DESTDIR)/$(HEADERS)/gcc/ck_*.h $(DESTDIR)/$(HEADERS)/gcc/*/ck_*.h || exit |
| mkdir -p $(DESTDIR)$(HEADERS)/spinlock || exit |
| cp -r $(SRC_DIR)/include/spinlock/* $(DESTDIR)/$(HEADERS)/spinlock || exit |
| chmod 755 $(DESTDIR)/$(HEADERS)/spinlock |
| chmod 644 $(DESTDIR)/$(HEADERS)/spinlock/*.h || exit |
| |
| install-so: |
| mkdir -p $(DESTDIR)/$(LIBRARY) |
| cp src/libck.so $(DESTDIR)/$(LIBRARY)/$(LDNAME_VERSION) |
| ln -sf $(LDNAME_VERSION) $(DESTDIR)/$(LIBRARY)/$(LDNAME) |
| ln -sf $(LDNAME_VERSION) $(DESTDIR)/$(LIBRARY)/$(LDNAME_MAJOR) |
| chmod 744 $(DESTDIR)/$(LIBRARY)/$(LDNAME_VERSION) \ |
| $(DESTDIR)/$(LIBRARY)/$(LDNAME) \ |
| $(DESTDIR)/$(LIBRARY)/$(LDNAME_MAJOR) |
| |
| install-lib: |
| mkdir -p $(DESTDIR)/$(LIBRARY) |
| cp src/libck.a $(DESTDIR)/$(LIBRARY)/libck.a |
| chmod 644 $(DESTDIR)/$(LIBRARY)/libck.a |
| |
| install: all install-headers @INSTALL_LIBS@ |
| $(MAKE) -C doc install |
| mkdir -p $(DESTDIR)/$(LIBRARY) || exit |
| mkdir -p $(DESTDIR)/$(PKGCONFIG_DATA) || exit |
| chmod 755 $(DESTDIR)/$(PKGCONFIG_DATA) |
| cp build/ck.pc $(DESTDIR)/$(PKGCONFIG_DATA)/ck.pc || exit |
| @echo |
| @echo |
| @echo ---[ Concurrency Kit has installed successfully. |
| |
| uninstall: |
| $(MAKE) -C doc uninstall |
| rm -f $(DESTDIR)/$(LIBRARY)/$(LDNAME_VERSION) \ |
| $(DESTDIR)/$(LIBRARY)/$(LDNAME) \ |
| $(DESTDIR)/$(LIBRARY)/$(LDNAME_MAJOR) |
| rm -f $(DESTDIR)/$(LIBRARY)/libck.so* |
| rm -f $(DESTDIR)/$(LIBRARY)/libck.a |
| rm -f $(DESTDIR)/$(HEADERS)/ck_*.h |
| rm -f $(DESTDIR)/$(HEADERS)/spinlock/*.h |
| rm -f $(DESTDIR)/$(HEADERS)/gcc/ck_*.h |
| rm -f $(DESTDIR)/$(HEADERS)/gcc/*/ck_*.h |
| rm -f $(DESTDIR)/$(PKGCONFIG_DATA)/ck.pc |
| |
| clean: |
| $(MAKE) -C doc clean |
| $(MAKE) -C src clean |
| $(MAKE) -C regressions clean |
| rm -f $(BUILD_DIR)/*~ $(BUILD_DIR)/*.o $(BUILD_DIR)/*.tar.gz |
| |
| dist: |
| git archive --remote=$(SRC_DIR) --format=tar --prefix=ck-$(VERSION)/ HEAD \ |
| | gzip > $(BUILD_DIR)/ck-$(VERSION).tar.gz |
| |
| distclean: clean |
| rm -f $(BUILD_DIR)/include/ck_md.h |
| rm -f $(BUILD_DIR)/build/regressions.build |
| rm -f $(BUILD_DIR)/build/ck.build |
| rm -f $(BUILD_DIR)/build/ck.pc |
| rm -f $(BUILD_DIR)/Makefile |
| rm -f $(BUILD_DIR)/doc/Makefile |
| |