- an ANSI C compiler. This defaults to gcc. You can change this by setting
the CC make variable.
+- flex and yacc.
+
+- GNU make.
+
- about 40MB free in /tmp (or some other temporary directory).
- about 6MB in the target directory.
- Run:
- make
+ make # or gmake
...from the command line. This will do the build.
The make system is fully parallelisable. If you have a multicore system,
you probably want to do:
- make -j8
+ make -j8 # or gmake -j8
...instead (substituting the right number of cores, of course). You can
also shave a few seconds of the build time by using the -r flag.
$o: $1/Lpars.h
$1/Lpars.h: $2 $(LLGEN)
@echo LLGEN $1/Lpars.c
- @mkdir -p $(dir $o)
+ @mkdir -p $1
$(hide) $(RM) $o $1/Lpars.h
- $(hide) cd $(dir $o) && $(LLGEN) $(abspath $2)
+ $(hide) cd $1 && $(LLGEN) $(abspath $2)
$(foreach f,$o,$(call cfile,$f))
$(wordlist 2, $(words $g), $g): $(firstword $g)
$(firstword $g): $(util-ack-mktables)
@echo MKTABLES
- @mkdir -p $(dir $g)
- $(hide) cd $(dir $g) && $(util-ack-mktables) $(INSDIR)/share
+ @mkdir -p $(OBJDIR)/$D
+ $(hide) cd $(OBJDIR)/$D && $(util-ack-mktables) $(INSDIR)/share
$(eval CLEANABLES += $g)
endef