scc

simple c99 compiler
git clone git://git.simple-cc.org/scc
Log | Files | Refs | Submodules | README | LICENSE

main.mk (1260B)


      1 .POSIX:
      2 
      3 DIRS  =\
      4 	doc\
      5 	src\
      6 	src/libc\
      7 	src/libcrt\
      8 	include/scc/bits/scc\
      9 	tests\
     10 
     11 PROJECTDIR = .
     12 include scripts/rules.mk
     13 
     14 ROOT = $(DESTDIR)$(PREFIX)
     15 NODEP = 1
     16 
     17 all:
     18 	+@$(MAKE) -f main.mk doc
     19 	+@$(MAKE) -f main.mk toolchain
     20 	+@$(MAKE) -f main.mk $(ARCH)
     21 
     22 config: FORCE
     23 	+@cd include/scc/bits/scc && $(MAKE)
     24 
     25 install: all
     26 	$(SCRIPTDIR)/install $(ROOT)
     27 	+@$(MAKE) -f main.mk install-$(ARCH)
     28 
     29 uninstall:
     30 	$(SCRIPTDIR)/uninstall $(ROOT)
     31 	+@$(MAKE) -f main.mk uninstall-$(ARCH)
     32 
     33 toolchain: src
     34 libc: src/libc
     35 libcrt: src/libcrt
     36 
     37 $(DIRS): dirs
     38 
     39 dirs: $(SCRIPTDIR)/dirs
     40 	xargs mkdir -p < $(SCRIPTDIR)/dirs
     41 	touch dirs
     42 
     43 clean: FORCE
     44 	xargs rm -rf < $(SCRIPTDIR)/dirs
     45 	find . -name '*.gcno' -o -name '*.gcda' | xargs rm -f
     46 	rm -rf dirs coverage
     47 
     48 distclean: clean
     49 	rm config.mk
     50 	rm -f include/scc/bits/scc/cstd.h
     51 	rm -f include/scc/bits/scc/sys.h
     52 	rm -f include/scc/bits/scc/config.h
     53 	rm -rf scc-* .scc-*
     54 	rm -f *.gz *.sig
     55 
     56 dist:
     57 	mkdir .scc-$(VERSION)
     58 	cp -R * .scc-$(VERSION)/
     59 	mv .scc-$(VERSION) scc-$(VERSION)
     60 	find scc-$(VERSION) -name '.gitignore' | xargs rm
     61 	tar -cf - scc-$(VERSION) | gzip > scc-$(VERSION).tar.gz
     62 	rm -rf scc-$(VERSION)
     63 
     64 include scripts/amd64.mk
     65 include scripts/arm.mk
     66 include scripts/arm64.mk
     67 include scripts/i386.mk
     68 include scripts/ppc.mk