.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: all install-headers $(MAKE) -C doc install mkdir -p $(DESTDIR)/$(LIBRARY) || exit cp src/libck.so $(DESTDIR)/$(LIBRARY)/$(LDNAME_VERSION) || exit ln -s $(LDNAME_VERSION) $(DESTDIR)/$(LIBRARY)/$(LDNAME) ln -s $(LDNAME_VERSION) $(DESTDIR)/$(LIBRARY)/$(LDNAME_MAJOR) chmod 744 $(DESTDIR)/$(LIBRARY)/$(LDNAME_VERSION) \ $(DESTDIR)/$(LIBRARY)/$(LDNAME) \ $(DESTDIR)/$(LIBRARY)/$(LDNAME_MAJOR) mkdir -p $(DESTDIR)/$(PKGCONFIG_DATA) || exit chmod 755 $(DESTDIR)/$(PKGCONFIG_DATA) cp build/ck.pc $(DESTDIR)/$(PKGCONFIG_DATA)/ck.pc || exit cp src/libck.a $(DESTDIR)/$(LIBRARY)/libck.a || exit chmod 644 $(DESTDIR)/$(LIBRARY)/libck.a || 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