ref: caf73a3a056f46b507e7cfdf7af5102597777ac2
dir: /Makefile/
# scc - Suckless C Compiler # See LICENSE file for copyright and license details. .POSIX: include config.mk DIRS = lib cc1 cc2 driver/$(DRIVER) ARCHS = z80 i386-sysv amd64-sysv qbe all: for i in $(DIRS); \ do \ (cd $$i && $(MAKE) -e); \ done cp -f cc1/cc1 bin/cc1 cp -f cc2/cc2 bin/cc2 cp -f driver/$(DRIVER)/scc bin/scc multi: for i in $(ARCHS); \ do \ $(MAKE) $$i || exit; \ done $(ARCHS): for i in cc1 cc2; \ do \ (cd $$i; \ ARCH=$@ $(MAKE) -e clean; \ ARCH=$@ $(MAKE) -e $$i || exit); \ done ln -f cc1/cc1 bin/cc1-$@ ln -f cc2/cc2 bin/cc2-$@ install: all mkdir -p $(PREFIX)/libexec/scc/ mkdir -p $(PREFIX)/bin/ mkdir -p $(PREFIX)/include/scc cp -f bin/cc* $(PREFIX)/libexec/scc/ cp -f bin/cc1 $(PREFIX)/bin/cpp cp -f bin/scc $(PREFIX)/bin/ cp -fr libc/include/* $(PREFIX)/include/scc/ find $(PREFIX)/include/scc/ -type f | xargs chmod 644 cd $(PREFIX)/libexec/scc/ && chmod 755 cc* && strip cc* cd $(PREFIX)/bin && chmod 755 cpp scc && strip cpp scc uninstall: rm -rf $(PREFIX)/libexec/scc/ rm -f $(PREFIX)/bin/scc rm -f $(PREFIX)/bin/cpp clean: for i in $(DIRS); \ do \ (cd $$i && $(MAKE) $@ || exit); \ done multi-clean: for i in $(ARCHS); \ do \ ARCH=$$i $(MAKE) -e clean || exit; \ done distclean: multi-clean rm -f bin/cc* bin/scc