Initial release of Maemo 5 port of gnuplot
[gnuplot] / src / Makefile.maint
1 # -*-Makefile-*-
2 # Makefile fragment to generate makefile.all and update version.c
3
4 # Non-core sources and version.c
5 noncoresrc = amiga.c ansi2knr.c bf_test.c corplot.c gpexecute.c gplt_x11.c \
6 os9.c strftime.c version.c vms.c
7
8 coresrc := $(filter-out $(noncoresrc),$(wildcard *.c))
9
10 coreterm := $(shell cd ../term && echo *.trm)
11
12 version := $(shell cat ../VERSION)
13 file_version := $(shell sed -n 's/.*gnuplot_version.*"\(.*\)".*/\1/p' ./version.c|tr -d ' ')
14
15 patchlevel := $(shell cat ../PATCHLEVEL)
16 file_pl := $(shell sed -n 's/.*gnuplot_patchlevel.*"\(.*\)".*/\1/p' ./version.c|tr -d ' ')
17
18 date := $(shell date)
19
20 makefile.all: Makefile.maint
21         @echo "# $@ generated automatically by GNU make" >$@t
22         @echo >>$@t
23         @echo '# List of core object files except version.$$(O)' >>$@t
24         @echo COREOBJS = $(coresrc:.c=.'$$(O)') \
25          | fmt | (tr '\012' @; echo) | sed 's/@$$/%/;s/@/ \\@/g' \
26          | tr @% '\012\012' >>$@t
27         @echo "# List of terminal driver sources" >>$@t
28         @echo CORETERM = $(patsubst %.trm,$$\(T\)%.trm,$(coreterm)) \
29          | fmt | (tr '\012' @; echo) | sed 's/@$$/%/;s/@/ \\@/g' \
30          | tr @% '\012\012' >>$@t
31         @if cmp -s $@ $@t; then rm -f $@t; else mv $@t $@; fi
32
33 version.c: ../VERSION ../PATCHLEVEL
34         @echo Making $@
35         @if [ "$(version)" != "$(file_version)" -o \
36              "$(patchlevel)" != "$(file_pl)" ]; then \
37           sed -e '/^const char gnuplot_version/ s/"[^"]*"/"@VERS@"/' \
38               -e '/^const char gnuplot_patchlevel/ s/"[^"]*"/"@PLVL@"/' \
39               -e '/^const char gnuplot_date/ s/"[^"]*"/"@DATE@"/' \
40               -e "s/@VERS@/$(version)/" -e "s/@PLVL@/$(patchlevel)/" \
41               -e "s/@DATE@/$(date)/" $@ >$@t; \
42           if cmp -s $@ $@t; then rm -f $@t; else mv $@t $@; fi \
43         fi