2 # this file is sourced from Makefile.in in orignal version code.
3 # in Makefile.in, there are three part:
4 # @ info variable definations, it is defined in info.shlib.
5 # @ target for building, it is defined in this file.
6 # @ src file dependence.
36 # .made: $(Program) bushbug $(SDIR)/man2html$(EXEEXT)
37 echo "$(Program) last made for a $(Machine) running $(OS)" >.made
40 g_build_banner_info ()
42 # .build: $(SOURCES) config.h Makefile src/version.h $(VERSPROG)
44 echo " ***********************************************************"
46 echo " * `$(BUILD_DIR)/$(VERSPROG) -l`"
48 echo " ***********************************************************"
52 ###################################################################
56 # src/version.h: $(SOURCES) config.h Makefile src/patchlevel.h
57 $(SHELL) $(SUPPORT_SRC)mkversion.sh -b -S ${topdir} -s $(RELSTATUS) -d $(Version) -o src/newversion.h \
58 && mv src/newversion.h src/version.h
63 # bushbug: $(SDIR)/bushbug.sh $(VERSPROG)
64 PatchLevel="`${VERSPROG} -p`"
65 sed -e "s%!PATCHLEVEL%${PatchLevel}%" \
66 support/bushbug.sh > bushbug
74 # buildversion.o: src/bushintl.h $(BUSHINCDIR)/gettext.h
75 # buildversion.o: src/version.h src/patchlevel.h src/conftypes.h
77 # buildversion.o: $(srcdir)/src/version.c
78 ${CC_FOR_BUILD} ${CCFLAGS_FOR_BUILD} -DBUILDTOOL -c -o buildversion.o ${srcdir}/src/version.c
80 # bushversion$(EXEEXT): buildversion.o $(SUPPORT_SRC)bushversion.c
81 echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
82 ${CC_FOR_BUILD} ${CCFLAGS_FOR_BUILD} ${LDFLAGS_FOR_BUILD} -o bushversion${EXEEXT} ${SUPPORT_SRC}bushversion.c buildversion.o ${LIBS_FOR_BUILD}
91 # .obj/lxrgmr/y.tab.o: src/lxrgmr/y.tab.h src/lxrgmr/y.tab.c ${GRAM_H} src/lxrgmr/command.h ${BUSHINCDIR}/stdc.h src/input/input.h
93 # ${GRAM_H}: src/lxrgmr/y.tab.h
94 if test -f src/lxrgmr/y.tab.h ; then
95 cmp -s ${GRAM_H} src/lxrgmr/y.tab.h 2>/dev/null || cp -p src/lxrgmr/y.tab.h ${GRAM_H};
98 # src/lxrgmr/y.tab.c: src/lxrgmr/parse.y
99 # if test -f src/lxrgmr/y.tab.h; then mv -f src/lxrgmr/y.tab.h old-src/lxrgmr/y.tab.h; fi
100 if [[ ! -f src/lxrgmr/y.tab.c || src/lxrgmr/parse.y -nt src/lxrgmr/y.tab.c ]]; then
101 ${YACC} -d ${srcdir}/src/lxrgmr/parse.y -o src/lxrgmr/y.tab.c
103 # if cmp -s old-src/lxrgmr/y.tab.h src/lxrgmr/y.tab.h; then mv old-src/lxrgmr/y.tab.h src/lxrgmr/y.tab.h; else cp -p src/lxrgmr/y.tab.h ${GRAM_H}; fi
105 # src/lxrgmr/y.tab.h: src/lxrgmr/y.tab.c
110 # builtins_builtext_h
113 # ${DEFDIR}/builtext.h: $(BUILTIN_DEFS)
114 # @(cd $(DEFDIR) && $(MAKE) $(MFLAGS) builtext.h ) || exit 1
117 # mkbultins & gen builtins.c
118 # this step is putted in builtins/cmpl.sh
121 gcc -c -DHAVE_CONFIG_H -DSHELL -I. -I.. -I.. -I../src -I../include -I../lib -I. -g -O2 -Wno-parentheses -Wno-format-security mkbuiltins.c
122 gcc -rdynamic -g -O2 -Wno-parentheses -Wno-format-security -rdynamic -g -O2 -Wno-parentheses -Wno-format-security -o mkbuiltins mkbuiltins.o -ldl
123 ./mkbuiltins -externfile builtext.h -structfile builtins.c \
124 -noproduction -D . ./alias.def ./bind.def ./break.def ./builtin.def ./caller.def ./cd.def ./colon.def ./command.def ./declare.def ./echo.def ./enable.def ./eval.def ./getopts.def ./exec.def ./exit.def ./fc.def ./fg_bg.def ./hash.def ./help.def ./history.def ./jobs.def ./kill.def ./let.def ./read.def ./return.def ./set.def ./setattr.def ./shift.def ./source.def ./suspend.def ./test.def ./times.def ./trap.def ./type.def ./ulimit.def ./umask.def ./wait.def ./reserved.def ./pushd.def ./shopt.def ./printf.def ./complete.def ./mapfile.def
128 # TBD: build param like gen_version_h
131 # mksignames() in cmpl.sh
134 # mksignames & gen signames.h
137 MACRO_DEF=" -DPROGRAM=\"bush\" -DCONF_HOSTTYPE=\"i686\" -DCONF_OSTYPE=\"linux-gnu\" -DCONF_MACHTYPE=\"i686-pc-linux-gnu\" -DCONF_VENDOR=\"pc\" -DLOCALEDIR=\"/usr/local/share/locale\" -DPACKAGE=\"bush\" -DSHELL -DHAVE_CONFIG_H "
138 INC_PATHS=" -I. -I. -I./include -I./src -I./lib "
139 MISC_CFLAGS="-g -O2 -Wno-parentheses -Wno-format-security"
144 echo gcc ${CFLAGS} -DBUILDTOOL -c ./support/mksignames.c
145 gcc ${CFLAGS} -DBUILDTOOL -c ./support/mksignames.c
147 rm -f buildsignames.o
148 echo gcc ${CFLAGS} -DBUILDTOOL -c ./support/mksignames.c -o buildsignames.o
149 gcc ${CFLAGS} -DBUILDTOOL -c ./support/signames.c -o buildsignames.o
152 echo gcc ${CFLAGS} -rdynamic -o mksignames mksignames.o buildsignames.o
153 gcc ${CFLAGS} -rdynamic -o mksignames mksignames.o buildsignames.o
156 rm -f src/lsignames.h
157 ./mksignames src/lsignames.h
158 if cmp -s src/lsignames.h src/signames.h ; then
161 rm -f src/signames.h ;
162 cp src/lsignames.h src/signames.h ;
166 # TBD: build param like gen_version_h
173 echo gcc ${CFLAGS} -DBUILDTOOL -rdynamic -o mksyntax mksyntax.c
174 gcc ${CFLAGS} -DBUILDTOOL -rdynamic -o mksyntax mksyntax.c
176 ./mksyntax$(EXEEXT) -o src/syntax.c
181 # src/pathnames.h: Makefile $(srcdir)/src/pathnames.h.in
182 # gen_pathnames_h() in cmpl.sh
185 datarootdir="${prefix}/share"
186 datadir="${datarootdir}"
187 DEBUGGER_START_FILE="${datadir}/bushdb/bushdb-main.inc"
191 sed -e 's|@DEBUGGER_START_FILE\@|${DEBUGGER_START_FILE}|g' src/pathnames.h.in > pathnames.tmp
192 if test -f src/pathnames.h; then
193 cmp -s pathnames.tmp src/pathnames.h || mv pathnames.tmp src/pathnames.h;
195 mv pathnames.tmp src/pathnames.h;
200 # TBD: build param like gen_version_h
204 # build psize.aux for pipesize.h
207 # INC_PATHS="-I. -I.. -I.. -I../src -I../include -I../lib -I."
208 INC_PATHS="-I. -I../ -I../src -I../include -I../lib -I../builtins"
214 rm psize.aux pipesize.h -f
215 echo gcc ${CFLAGS} -o psize.aux ./psize.c
216 gcc ${CFLAGS} -o psize.aux ./psize.c
217 echo get pipe size ...
218 /bin/sh ./psize.sh > pipesize.h
225 # stamp-h: config.status $(srcdir)/config.h.in $(srcdir)/config-top.h $(srcdir)/config-bot.h
226 CONFIG_FILES= CONFIG_HEADERS=config.h ${SHELL} ./config.status
229 ###################################################################