mescc: Add headers for 8cc.
[mes.git] / GNUmakefile
1 SHELL:=bash
2 export SHELL
3 .export: SHELL
4 QUIET:=@
5
6 default: all
7
8 MES_DEBUG:=1
9 CFLAGS:=--std=gnu99 -O0 -g --include libc-gcc.c
10 HEX2_FLAGS:=--LittleEndian --Architecture 1 --BaseAddress 0x1000000
11 OUT:=out
12
13 SUBDIRS:=\
14  module\
15  src\
16  scaffold\
17  scripts\
18  stage0\
19  tests\
20  tinycc\
21 #
22
23 include make/common.make
24 -include .local.make
25
26 build-scripts:
27         make --dry-run MES=$(OUT)/mes CC= CC32= GUILE= MES_BOOTSTRAP=1 > $(OUT)/make.sh
28         make --dry-run MES=$(OUT)/mes CC= CC32= GUILE= MES_BOOTSTRAP=1 | tail +$(wc -l make.sh) > $(OUT)/make-check.sh
29         make --dry-run MES=$(OUT)/mes CC= CC32= GUILE= MES_BOOTSTRAP=1 | tail +$(wc -l make.sh) > $(OUT)/make-install.sh
30
31         make --dry-run > $(OUT)/make-dev.sh
32         make --dry-run | tail +$(wc -l make.sh) > $(OUT)/make-dev-check.sh
33         make --dry-run | tail +$(wc -l make.sh) > $(OUT)/make-dev-install.sh
34
35 help: help-top
36
37 install: all
38 release: all
39
40 help:
41         @echo
42
43 define HELP_TOP
44 Usage: make [OPTION]... [TARGET]...
45
46 Targets:
47   all               update everything
48   build-scripts     generate build scripts
49   check             run unit tests
50   clean             remove all generated stuff
51   dist              create tarball in $(TARBALL)
52   distclean         also clean configuration
53   maintainer-clean  also clean expensive targets [$(strip $(MAINTAINER-CLEAN))]
54   mescc             compile cc/main.c to a.out
55   install           install in $$(DESTDIR)$$(PREFIX) [$(DESTDIR)$(PREFIX)]
56   release           make a release
57   update-hash       update hash in guix.scm
58 endef
59 export HELP_TOP
60 help-top:
61         @echo "$$HELP_TOP"