| #!/bin/bash | |
| # do this first | |
| # ./configure | |
| # | |
| echo '#include <sys/types.h>' >> config.h | |
| CFLAGS="-DHAVE_CONFIG_H -DSHELL -g -O2 -Wno-parentheses -Wno-format-security -DRCHECK -Dbotch=programming_error -DMALLOC_DEBUG" | |
| ## | |
| LIBMALLOC_SRCS=( | |
| lib/malloc/malloc.c | |
| lib/malloc/trace.c | |
| lib/malloc/stats.c | |
| lib/malloc/table.c | |
| lib/malloc/watch.c | |
| ) | |
| LIBMALLOC_OBJS=("${LIBMALLOC_SRCS[@]/%.c/.o}") | |
| LIBREADLINE_SRCS=( | |
| lib/readline/readline.c | |
| lib/readline/vi_mode.c | |
| lib/readline/funmap.c | |
| lib/readline/keymaps.c | |
| lib/readline/parens.c | |
| lib/readline/search.c | |
| lib/readline/rltty.c | |
| lib/readline/complete.c | |
| lib/readline/bind.c | |
| lib/readline/isearch.c | |
| lib/readline/display.c | |
| lib/readline/signals.c | |
| lib/readline/util.c | |
| lib/readline/kill.c | |
| lib/readline/undo.c | |
| lib/readline/macro.c | |
| lib/readline/input.c | |
| lib/readline/callback.c | |
| lib/readline/terminal.c | |
| lib/readline/text.c | |
| lib/readline/nls.c | |
| lib/readline/misc.c | |
| lib/readline/history.c | |
| lib/readline/histexpand.c | |
| lib/readline/histfile.c | |
| lib/readline/histsearch.c | |
| lib/readline/shell.c | |
| lib/readline/savestring.c | |
| lib/readline/mbutil.c | |
| lib/readline/tilde.c | |
| lib/readline/colors.c | |
| lib/readline/parse-colors.c | |
| lib/readline/xmalloc.c | |
| lib/readline/xfree.c | |
| lib/readline/compat.c | |
| ) | |
| LIBREADLINE_OBJS=("${LIBREADLINE_SRCS[@]/%.c/.o}") | |
| LIBGLOB_SRCS=( | |
| lib/glob/glob.c | |
| lib/glob/strmatch.c | |
| lib/glob/smatch.c | |
| lib/glob/xmbsrtowcs.c | |
| lib/glob/gmisc.c | |
| ) | |
| LIBGLOB_OBJS=("${LIBGLOB_SRCS[@]/%.c/.o}") | |
| LIBHISTORY_SRCS=( | |
| lib/readline/readline.c | |
| lib/readline/histexpand.c | |
| lib/readline/histfile.c | |
| lib/readline/histsearch.c | |
| lib/readline/shell.c | |
| lib/readline/savestring.c | |
| lib/readline/mbutil.c | |
| lib/readline/xmalloc.c | |
| lib/readline/xfree.c | |
| ) | |
| LIBHISTORY_OBJS=("${LIBHISTORY_SRCS[@]/%.c/.o}") | |
| LIBTILDE_SRCS=( | |
| lib/tilde/tilde.c | |
| ) | |
| LIBTILDE_OBJS=("${LIBTILDE_SRCS[@]/%.c/.o}") | |
| LIBSH_SRCS=( | |
| lib/sh/clktck.c | |
| lib/sh/clock.c | |
| lib/sh/getenv.c | |
| lib/sh/oslib.c | |
| lib/sh/setlinebuf.c | |
| lib/sh/strnlen.c | |
| lib/sh/itos.c | |
| lib/sh/zread.c | |
| lib/sh/zwrite.c | |
| lib/sh/shtty.c | |
| lib/sh/shmatch.c | |
| lib/sh/eaccess.c | |
| lib/sh/netconn.c | |
| lib/sh/netopen.c | |
| lib/sh/timeval.c | |
| lib/sh/makepath.c | |
| lib/sh/pathcanon.c | |
| lib/sh/pathphys.c | |
| lib/sh/tmpfile.c | |
| lib/sh/stringlist.c | |
| lib/sh/stringvec.c | |
| lib/sh/spell.c | |
| lib/sh/shquote.c | |
| lib/sh/strtrans.c | |
| lib/sh/snprintf.c | |
| lib/sh/mailstat.c | |
| lib/sh/fmtulong.c | |
| lib/sh/fmtullong.c | |
| lib/sh/fmtumax.c | |
| lib/sh/zcatfd.c | |
| lib/sh/zmapfd.c | |
| lib/sh/winsize.c | |
| lib/sh/wcsdup.c | |
| lib/sh/fpurge.c | |
| lib/sh/zgetline.c | |
| lib/sh/mbscmp.c | |
| lib/sh/uconvert.c | |
| lib/sh/ufuncs.c | |
| lib/sh/casemod.c | |
| lib/sh/input_avail.c | |
| lib/sh/mbscasecmp.c | |
| lib/sh/fnxform.c | |
| lib/sh/unicode.c | |
| lib/sh/shmbchar.c | |
| lib/sh/wcsnwidth.c | |
| lib/sh/mbschr.c | |
| ) | |
| LIBSH_OBJS=("${LIBSH_SRCS[@]/%.c/.o}") | |
| BUILTIN_DEFS=( | |
| builtins/alias.def | |
| builtins/bind.def | |
| builtins/break.def | |
| builtins/builtin.def | |
| builtins/caller.def | |
| builtins/cd.def | |
| builtins/colon.def | |
| builtins/command.def | |
| builtins/complete.def | |
| builtins/declare.def | |
| builtins/echo.def | |
| builtins/enable.def | |
| builtins/eval.def | |
| builtins/exec.def | |
| builtins/exit.def | |
| builtins/fc.def | |
| builtins/fg_bg.def | |
| builtins/getopts.def | |
| builtins/hash.def | |
| builtins/help.def | |
| builtins/history.def | |
| builtins/inlib.def | |
| builtins/jobs.def | |
| builtins/kill.def | |
| builtins/let.def | |
| builtins/mapfile.def | |
| builtins/printf.def | |
| builtins/pushd.def | |
| builtins/read.def | |
| builtins/reserved.def | |
| builtins/return.def | |
| builtins/setattr.def | |
| builtins/set.def | |
| builtins/shift.def | |
| builtins/shopt.def | |
| builtins/source.def | |
| builtins/suspend.def | |
| builtins/test.def | |
| builtins/times.def | |
| builtins/trap.def | |
| builtins/type.def | |
| builtins/ulimit.def | |
| builtins/umask.def | |
| builtins/wait.def | |
| ) | |
| BUILTIN_DEFS_STRIPPED=("${BUILTIN_DEFS[@]/#builtins/.}") | |
| BUILTIN_SRCS=("${BUILTIN_DEFS[@]/%.def/.c}") | |
| BUILTIN_OBJS=("${BUILTIN_DEFS[@]/%.def/.o}") | |
| BUILTIN_SRCS=("${BUILTIN_SRCS[@]}" builtins/common.c builtins/builtins.c builtins/evalfile.c builtins/evalstring.c builtins/bashgetopt.c builtins/getopt.c) | |
| BUILTIN_SRCS=("${BUILTIN_SRCS[@]/builtins\/reserved.c/}") | |
| BUILTIN_OBJS=("${BUILTIN_OBJS[@]}" builtins/common.o builtins/builtins.o builtins/evalfile.o builtins/evalstring.o builtins/bashgetopt.o builtins/getopt.o) | |
| BUILTIN_OBJS=("${BUILTIN_OBJS[@]/builtins\/reserved.o/}") | |
| #echo ${BUILTIN_DEFS[@]} | |
| #echo ${BUILTIN_SRCS[@]} | |
| #echo ${BUILTIN_OBJS[@]} | |
| #exit | |
| BASH_SRCS=( | |
| alias.c array.c arrayfunc.c assoc.c bashhist.c bashline.c bracecomp.c braces.c copy_cmd.c dispose_cmd.c error.c eval.c execute_cmd.c expr.c findcmd.c flags.c general.c hashcmd.c hashlib.c input.c jobs.c list.c locale.c mailcheck.c make_cmd.c pathexp.c pcomplete.c pcomplib.c print_cmd.c redir.c shell.c sig.c siglist.c stringlib.c subst.c syntax.c test.c trap.c unwind_prot.c variables.c version.c xmalloc.c y.tab.c | |
| ) | |
| BASH_OBJS=("${BASH_SRCS[@]/%.c/.o}") | |
| Program=bash | |
| Machine=x86_64 | |
| OS=linux-gnu | |
| VENDOR=pc | |
| MACHTYPE=x86_64-pc-linux-gnu | |
| PACKAGE=bash | |
| localedir=/usr/local/share/locale | |
| LOCALE_DEFS="-DLOCALEDIR=\\\"${localedir}\\\" -DPACKAGE=\\\"${PACKAGE}\\\"" | |
| SYSTEM_FLAGS="-DPACKAGE=\\\"${PACKAGE}\\\" -DPROGRAM=\\\"${Program}\\\" -DCONF_HOSTTYPE=\\\"${Machine}\\\" -DCONF_OSTYPE=\\\"${OS}\\\" -DCONF_MACHTYPE=\\\"${MACHTYPE}\\\" -DCONF_VENDOR=\\\"${VENDOR}\\\" ${LOCALE_DEFS}" | |
| ## | |
| ## Compile .o files from .c files | |
| for src in \ | |
| ${LIBMALLOC_SRCS[@]} \ | |
| ${LIBREADLINE_SRCS[@]} \ | |
| ${LIBGLOB_SRCS[@]} \ | |
| ${LIBHISTORY_SRCS[@]} \ | |
| ${LIBTILDE_SRCS[@]} \ | |
| ${LIBSH_SRCS[@]} \ | |
| "builtins/mkbuiltins.c" | |
| do | |
| obj=${src%.c}.o | |
| printf "%s\t" "$obj" "$src" pathnames.h version.h pipesize.h signames.h -- "gcc -I. -I./include -Ilib/ -Ibuiltins/ $CFLAGS $SYSTEM_FLAGS -c $src -o $obj" | |
| echo | |
| done | |
| for src in \ | |
| ${BASH_SRCS[@]} \ | |
| ${BUILTIN_SRCS[@]} | |
| do | |
| obj=${src%.c}.o | |
| printf "%s\t" "$obj" "$src" pathnames.h version.h pipesize.h signames.h builtins/builtext.h -- "gcc -I. -I./include -Ilib/ -Ibuiltins/ $CFLAGS $SYSTEM_FLAGS -c $src -o $obj" | |
| echo | |
| done | |
| # link .o files into libraries | |
| printf "%s\t" libmalloc.a ${LIBMALLOC_OBJS[@]} -- "ar cr libmalloc.a ${LIBMALLOC_OBJS[@]} && ranlib libmalloc.a" | |
| echo | |
| printf "%s\t" libreadline.a ${LIBREADLINE_OBJS[@]} -- "ar cr libreadline.a ${LIBREADLINE_OBJS[@]} && ranlib libreadline.a" | |
| echo | |
| printf "%s\t" libglob.a ${LIBGLOB_OBJS[@]} -- "ar cr libglob.a ${LIBGLOB_OBJS[@]} && ranlib libglob.a" | |
| echo | |
| printf "%s\t" libhistory.a ${LIBHISTORY_OBJS[@]} -- "ar cr libhistory.a ${LIBHISTORY_OBJS[@]} && ranlib libhistory.a" | |
| echo | |
| printf "%s\t" libtilde.a ${LIBTILDE_OBJS[@]} -- "ar cr libtilde.a ${LIBTILDE_OBJS[@]} && ranlib libtilde.a" | |
| echo | |
| printf "%s\t" libsh.a ${LIBSH_OBJS[@]} -- "ar cr libsh.a ${LIBSH_OBJS[@]} && ranlib libsh.a" | |
| echo | |
| printf "%s\t" libbuiltins.a ${BUILTIN_OBJS[@]} -- "ar cr libbuiltins.a builtins/builtin.o ${BUILTIN_OBJS[@]} && ranlib libbuiltins.a" | |
| echo | |
| # built the tools used to produce .c builtins from .def's | |
| printf "%s\t" builtins/mkbuiltins builtins/mkbuiltins.o -- "gcc -rdynamic $CFLAGS -o builtins/mkbuiltins builtins/mkbuiltins.o -ldl" | |
| echo | |
| printf "%s\t" builtins/builtext.h builtins/mkbuiltins ${BUILTIN_DEFS[@]} -- "cd builtins ; ./mkbuiltins -externfile builtext.h -structfile builtins.c -noproduction -D . ${BUILTIN_DEFS_STRIPPED[@]}" | |
| echo | |
| # built .c builtin code from .def | |
| for def in ${BUILTIN_DEFS[@]} | |
| do | |
| strip="${def/#builtins/.}" | |
| src="${def/%.def/.c}" | |
| printf "%s\t" "$src" builtins/mkbuiltins "$def" -- "cd builtins ; ./mkbuiltins -D . $strip" | |
| echo | |
| done | |
| # syntax.c | |
| printf "%s\t" mksyntax mksyntax.c -- "gcc -rdynamic -Iinclude/ $CFLAGS -o mksyntax mksyntax.c" | |
| echo | |
| printf "%s\t" syntax.c mksyntax -- './mksyntax -o syntax.c' | |
| echo | |
| DEBUGGER_START_FILE=/usr/local/share/bashdb/bashdb-main.inc | |
| printf "%s\t" pathnames.h pathnames.h.in -- "sed -e 's|@DEBUGGER_START_FILE\@|${DEBUGGER_START_FILE}|g' pathnames.h.in > pathnames.h" | |
| echo | |
| VERSION=5.0 | |
| RELSTATUS=alpha | |
| printf "%s\t" version.h ./support/mkversion.sh -- "sh ./support/mkversion.sh -b -S . -s ${RELSTATUS} -d ${VERSION} -o tmpversion.h && mv tmpversion.h version.h" | |
| echo | |
| # Technically this is wrong; the pipe size should be for the target system, | |
| # not the build host. | |
| printf "%s\t" psize.aux ./builtins/psize.c -- "cc -I. -Iinclude/ $CFLAGS ./builtins/psize.c -o psize.aux" | |
| echo | |
| printf "%s\t" pipesize.h psize.aux -- 'sh ./builtins/psize.sh > pipesize.h' | |
| echo | |
| # signames | |
| printf "%s\t" signames.h mksignames -- './mksignames signames.h' | |
| echo | |
| printf "%s\t" mksignames support/mksignames.c support/signames.c -- 'cc -I. -DBUILDTOOL support/mksignames.c support/signames.c -o mksignames' | |
| echo | |
| # bash itself | |
| printf "%s\t" bash ${BASH_OBJS[@]} libbuiltins.a libreadline.a libglob.a libtilde.a libmalloc.a libsh.a -- "gcc -L. -rdynamic -I. -I./include -Ilib/ -Ibuiltins/ $CFLAGS $SYSTEM_FLAGS -o bash ${BASH_OBJS[@]} -lbuiltins -lglob -lsh -lreadline -lhistory -ltinfo -ltilde -lmalloc -ldl" | |
| echo |
| #!/bin/bash | |
| # sbase version | |
| VERSION=0.0 | |
| # paths | |
| PREFIX=/usr/local | |
| MANPREFIX=${PREFIX}/share/man | |
| CC=cc | |
| AR=ar | |
| RANLIB=ranlib | |
| # for NetBSD add -D_NETBSD_SOURCE | |
| # -lrt might be needed on some systems | |
| CPPFLAGS="-D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=700 -D_FILE_OFFSET_BITS=64" | |
| CFLAGS="-std=c99 -Wall -pedantic" | |
| LDFLAGS="-s" | |
| HDR="\ | |
| arg.h\ | |
| compat.h\ | |
| crypt.h\ | |
| fs.h\ | |
| md5.h\ | |
| queue.h\ | |
| sha1.h\ | |
| sha224.h\ | |
| sha256.h\ | |
| sha384.h\ | |
| sha512.h\ | |
| sha512-224.h\ | |
| sha512-256.h\ | |
| text.h\ | |
| utf.h\ | |
| util.h" | |
| LIBUTF="libutf.a" | |
| LIBUTFSRC=( | |
| libutf/fgetrune.c | |
| libutf/fputrune.c | |
| libutf/isalnumrune.c | |
| libutf/isalpharune.c | |
| libutf/isblankrune.c | |
| libutf/iscntrlrune.c | |
| libutf/isdigitrune.c | |
| libutf/isgraphrune.c | |
| libutf/isprintrune.c | |
| libutf/ispunctrune.c | |
| libutf/isspacerune.c | |
| libutf/istitlerune.c | |
| libutf/isxdigitrune.c | |
| libutf/lowerrune.c | |
| libutf/rune.c | |
| libutf/runetype.c | |
| libutf/upperrune.c | |
| libutf/utf.c | |
| libutf/utftorunestr.c) | |
| LIBUTIL="libutil.a" | |
| LIBUTILSRC=( | |
| libutil/concat.c | |
| libutil/cp.c | |
| libutil/crypt.c | |
| libutil/ealloc.c | |
| libutil/enmasse.c | |
| libutil/eprintf.c | |
| libutil/eregcomp.c | |
| libutil/estrtod.c | |
| libutil/fnck.c | |
| libutil/fshut.c | |
| libutil/getlines.c | |
| libutil/human.c | |
| libutil/linecmp.c | |
| libutil/md5.c | |
| libutil/memmem.c | |
| libutil/mkdirp.c | |
| libutil/mode.c | |
| libutil/parseoffset.c | |
| libutil/putword.c | |
| libutil/reallocarray.c | |
| libutil/recurse.c | |
| libutil/rm.c | |
| libutil/sha1.c | |
| libutil/sha224.c | |
| libutil/sha256.c | |
| libutil/sha384.c | |
| libutil/sha512.c | |
| libutil/sha512-224.c | |
| libutil/sha512-256.c | |
| libutil/strcasestr.c | |
| libutil/strlcat.c | |
| libutil/strlcpy.c | |
| libutil/strsep.c | |
| libutil/strtonum.c | |
| libutil/unescape.c | |
| libutil/writeall.c) | |
| LIB="${LIBUTF} ${LIBUTIL}" | |
| BIN="\ | |
| basename\ | |
| cal\ | |
| cat\ | |
| chgrp\ | |
| chmod\ | |
| chown\ | |
| chroot\ | |
| cksum\ | |
| cmp\ | |
| cols\ | |
| comm\ | |
| cp\ | |
| cron\ | |
| cut\ | |
| date\ | |
| dirname\ | |
| du\ | |
| echo\ | |
| ed\ | |
| env\ | |
| expand\ | |
| expr\ | |
| false\ | |
| find\ | |
| flock\ | |
| fold\ | |
| getconf\ | |
| grep\ | |
| head\ | |
| hostname\ | |
| join\ | |
| kill\ | |
| link\ | |
| ln\ | |
| logger\ | |
| logname\ | |
| ls\ | |
| md5sum\ | |
| mkdir\ | |
| mkfifo\ | |
| mktemp\ | |
| mv\ | |
| nice\ | |
| nl\ | |
| nohup\ | |
| od\ | |
| paste\ | |
| pathchk\ | |
| printenv\ | |
| printf\ | |
| pwd\ | |
| readlink\ | |
| renice\ | |
| rev\ | |
| rm\ | |
| rmdir\ | |
| sed\ | |
| seq\ | |
| setsid\ | |
| sha1sum\ | |
| sha224sum\ | |
| sha256sum\ | |
| sha384sum\ | |
| sha512sum\ | |
| sha512-224sum\ | |
| sha512-256sum\ | |
| sleep\ | |
| sort\ | |
| split\ | |
| sponge\ | |
| strings\ | |
| sync\ | |
| tail\ | |
| tar\ | |
| tee\ | |
| test\ | |
| tftp\ | |
| time\ | |
| touch\ | |
| tr\ | |
| true\ | |
| tsort\ | |
| tty\ | |
| uname\ | |
| unexpand\ | |
| uniq\ | |
| unlink\ | |
| uudecode\ | |
| uuencode\ | |
| wc\ | |
| which\ | |
| whoami\ | |
| xargs\ | |
| xinstall\ | |
| yes" | |
| LIBUTFOBJ=("${LIBUTFSRC[@]/%.c/.o}") | |
| LIBUTILOBJ=("${LIBUTILSRC[@]/%.c/.o}") | |
| #OBJ = $(BIN:=.o) $(LIBUTFOBJ) $(LIBUTILOBJ) | |
| #SRC = $(BIN:=.c) | |
| #MAN = $(BIN:=.1) | |
| #all: $(BIN) | |
| #$(BIN): $(LIB) $(@:=.o) | |
| #$(OBJ): $(HDR) config.mk | |
| #.c.o: | |
| # $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $< | |
| for bin in $BIN | |
| do | |
| printf "%s\t" "$bin.o" "$bin.c" -- "${CC} ${CFLAGS} ${CPPFLAGS} -o '$bin.o' -c '$bin.c'" | |
| echo | |
| done | |
| for src in ${LIBUTFSRC[@]} ${LIBUTILSRC[@]} | |
| do | |
| obj=${src%.c}.o | |
| printf "%s\t" "$obj" "$src" -- "${CC} ${CFLAGS} ${CPPFLAGS} -o '$obj' -c '$src'" | |
| echo | |
| done | |
| #$(LIBUTF): $(LIBUTFOBJ) | |
| # $(AR) rc $@ $? | |
| # $(RANLIB) $@ | |
| printf "%s\t" ${LIBUTF} ${LIBUTFOBJ[@]} -- "${AR} rc ${LIBUTF} ${LIBUTFOBJ[@]} ; ${RANLIB} ${LIBUTF}" | |
| echo | |
| #$(LIBUTIL): $(LIBUTILOBJ) | |
| # $(AR) rc $@ $? | |
| # $(RANLIB) $@ | |
| printf "%s\t" ${LIBUTIL} ${LIBUTILOBJ[@]} -- "${AR} rc ${LIBUTIL} ${LIBUTILOBJ[@]} ; ${RANLIB} ${LIBUTIL}" | |
| echo | |
| #.o: | |
| # $(CC) $(LDFLAGS) -o $@ $< $(LIB) | |
| for bin in $BIN | |
| do | |
| if [ "$bin" == "getconf" ] | |
| then | |
| continue | |
| fi | |
| printf "%s\t" "$bin" "$bin.o" ${LIB} -- "${CC} ${LDFLAGS} -o '$bin' '$bin.o' ${LIB}" | |
| echo | |
| done | |
| printf "%s\t" getconf.o getconf.h getconf.c -- "$CC $CFLAGS $CPPFLAGS -c getconf.c" | |
| echo | |
| printf "%s\t" getconf.h getconf.sh -- './getconf.sh > getconf.h' | |
| echo |
| #!/bin/sh | |
| find FLAC/ | while IFS= read -r src | |
| do | |
| tgt=MP3${src#FLAC} | |
| if [[ "$src" == *.flac ]] | |
| then | |
| tgt=${tgt%flac}mp3 | |
| fldr=`dirname "$tgt"` | |
| # will not work if contains ' | |
| printf "%s\t" "$fldr" -- \ | |
| "mkdir -p '$fldr'" | |
| echo | |
| printf "%s\t" "$tgt" "$src" "$fldr" -- \ | |
| "ffmpeg -i '$src' -acodec libmp3lame -ab 320k -map_metadata 0 -id3v2_version 3 '$tgt'" | |
| echo | |
| fi | |
| done |
| src/version.h -- ( ./scripts/version | sed 's/.*/\#define JQ_VERSION \"&\"/' > src/version.h ) | |
| src/builtin.inc src/builtin.jq -- sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/^/"/' -e 's/$/\\n"/' src/builtin.jq > src/builtin.inc | |
| src/lexer.c src/lexer.l -- flex -o src/lexer.c --header-file=src/lexer.h src/lexer.l | |
| src/lexer.h src/lexer.c -- flex -o src/lexer.c --header-file=src/lexer.h src/lexer.l | |
| src/builtin.o src/builtin.c src/version.h src/builtin.inc -- gcc -c -o "src/builtin.o" -DIEEE_8087=1 -I . "src/builtin.c" | |
| src/jv_print.o src/jv_print.c src/version.h src/builtin.inc -- gcc -c -o "src/jv_print.o" -DIEEE_8087=1 -I . "src/jv_print.c" | |
| src/jv_unicode.o src/jv_unicode.c src/version.h src/builtin.inc -- gcc -c -o "src/jv_unicode.o" -DIEEE_8087=1 -I . "src/jv_unicode.c" | |
| src/jv_aux.o src/jv_aux.c src/version.h src/builtin.inc -- gcc -c -o "src/jv_aux.o" -DIEEE_8087=1 -I . "src/jv_aux.c" | |
| src/jv_alloc.o src/jv_alloc.c src/version.h src/builtin.inc -- gcc -c -o "src/jv_alloc.o" -DIEEE_8087=1 -I . "src/jv_alloc.c" | |
| src/jv_file.o src/jv_file.c src/version.h src/builtin.inc -- gcc -c -o "src/jv_file.o" -DIEEE_8087=1 -I . "src/jv_file.c" | |
| src/jv_dtoa.o src/jv_dtoa.c src/version.h src/builtin.inc -- gcc -c -o "src/jv_dtoa.o" -DIEEE_8087=1 -I . "src/jv_dtoa.c" | |
| src/jq_test.o src/jq_test.c src/version.h src/builtin.inc -- gcc -c -o "src/jq_test.o" -DIEEE_8087=1 -I . "src/jq_test.c" | |
| src/jv_parse.o src/jv_parse.c src/version.h src/builtin.inc -- gcc -c -o "src/jv_parse.o" -DIEEE_8087=1 -I . "src/jv_parse.c" | |
| src/parser.o src/parser.c src/version.h src/builtin.inc -- gcc -c -o "src/parser.o" -DIEEE_8087=1 -I . "src/parser.c" | |
| src/main.o src/main.c src/version.h src/builtin.inc -- gcc -c -o "src/main.o" -DIEEE_8087=1 -I . "src/main.c" | |
| src/bytecode.o src/bytecode.c src/version.h src/builtin.inc -- gcc -c -o "src/bytecode.o" -DIEEE_8087=1 -I . "src/bytecode.c" | |
| src/inject_errors.o src/inject_errors.c src/version.h src/builtin.inc -- gcc -c -o "src/inject_errors.o" -DIEEE_8087=1 -I . "src/inject_errors.c" | |
| src/lexer.o src/lexer.c src/version.h src/builtin.inc -- gcc -c -o "src/lexer.o" -DIEEE_8087=1 -I . "src/lexer.c" | |
| src/util.o src/util.c src/version.h src/builtin.inc -- gcc -c -o "src/util.o" -DIEEE_8087=1 -I . "src/util.c" | |
| src/locfile.o src/locfile.c src/version.h src/builtin.inc -- gcc -c -o "src/locfile.o" -DIEEE_8087=1 -I . "src/locfile.c" | |
| src/linker.o src/linker.c src/version.h src/builtin.inc -- gcc -c -o "src/linker.o" -DIEEE_8087=1 -I . "src/linker.c" | |
| src/jv.o src/jv.c src/version.h src/builtin.inc -- gcc -c -o "src/jv.o" -DIEEE_8087=1 -I . "src/jv.c" | |
| src/execute.o src/execute.c src/version.h src/builtin.inc -- gcc -c -o "src/execute.o" -DIEEE_8087=1 -I . "src/execute.c" | |
| src/compile.o src/compile.c src/version.h src/builtin.inc -- gcc -c -o "src/compile.o" -DIEEE_8087=1 -I . "src/compile.c" | |
| jq ./src/jv_print.o ./src/jv_unicode.o ./src/jv_aux.o ./src/jv_alloc.o ./src/jv_file.o./src/jv_dtoa.o ./src/jq_test.o ./src/jv_parse.o ./src/parser.o ./src/main.o ./src/bytecode.o ./src/builtin.o ./src/inject_errors.o ./src/lexer.o ./src/util.o ./src/locfile.o ./src/linker.o ./src/jv.o ./src/execute.o ./src/compile.o -- gcc -o jq -lm -ldl ./src/jv_print.o ./src/jv_unicode.o ./src/jv_aux.o ./src/jv_alloc.o ./src/jv_file.o ./src/jv_dtoa.o ./src/jq_test.o ./src/jv_parse.o ./src/parser.o ./src/main.o ./src/bytecode.o ./src/builtin.o ./src/inject_errors.o ./src/lexer.o ./src/util.o ./src/locfile.o ./src/linker.o ./src/jv.o ./src/execute.o ./src/compile.o |
| #!/bin/sh | |
| set -e | |
| function clean { | |
| rm -f src/version.h | |
| rm -f src/builtin.inc | |
| rm -f src/*.o | |
| rm -f jq | |
| } | |
| function all { | |
| # Remake the version.h header file if, and only if, the git ID has changed | |
| #.PHONY: .FORCE | |
| #.FORCE: | |
| #generate_ver = ver="`{ $(srcdir)/scripts/version || echo '$(VERSION)' ; } | sed 's/.*/\#define JQ_VERSION \"&\"/'`" | |
| #.remake-version-h: .FORCE | |
| # @ $(generate_ver); test "x`cat src/version.h 2>/dev/null`" = "x$$ver" || touch .remake-version-h | |
| #src/version.h: .remake-version-h | |
| # $(AM_V_GEN) $(generate_ver); echo "$$ver" > $@ | |
| #src/main.c: src/version.h | |
| printf "%s\t" src/version.h -- \ | |
| '( ./scripts/version | sed '\''s/.*/\#define JQ_VERSION \"&\"/'\'' > src/version.h )' | |
| echo | |
| #src/builtin.inc: src/builtin.jq | |
| # $(AM_V_GEN) sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/^/"/' -e 's/$$/\\n"/' $^ > $@ | |
| #src/builtin.o: src/builtin.inc | |
| printf "%s\t" src/builtin.inc \ | |
| src/builtin.jq -- \ | |
| 'sed -e '\''s/\\/\\\\/g'\'' -e '\''s/"/\\"/g'\'' -e '\''s/^/"/'\'' -e '\''s/$/\\n"/'\'' src/builtin.jq > src/builtin.inc' | |
| echo | |
| #BUILT_SOURCES = src/lexer.h src/lexer.c src/parser.h src/parser.c \ | |
| # src/builtin.inc src/version.h | |
| #src/lexer.c: src/lexer.l | |
| # $(AM_V_LEX) flex -o src/lexer.c --header-file=src/lexer.h $< | |
| #src/lexer.h: src/lexer.c | |
| printf "%s\t" src/lexer.c \ | |
| src/lexer.l -- \ | |
| "flex -o src/lexer.c --header-file=src/lexer.h src/lexer.l" | |
| echo | |
| printf "%s\t" src/lexer.h \ | |
| src/lexer.c -- \ | |
| "flex -o src/lexer.c --header-file=src/lexer.h src/lexer.l" | |
| echo | |
| #AC_C_BIGENDIAN( | |
| # AC_DEFINE([IEEE_MC68k], 1, [machine is bigendian]), | |
| # AC_DEFINE([IEEE_8087], 1, [machine is littleendian]), | |
| # AC_MSG_ERROR(unknown endianess), | |
| # AC_MSG_ERROR(universial endianess not supported) | |
| #) | |
| CFLAGS+="-DIEEE_8087=1" | |
| find src/ -iname '*.c' -print0 | \ | |
| while IFS="" read -r -d "" file ; do | |
| printf "%s\t" "${file%.c}.o" \ | |
| "$file" src/version.h src/builtin.inc -- \ | |
| "gcc -c -o \"${file%.c}.o\" $CFLAGS -I . \"$file\"" | |
| echo | |
| true | |
| done | |
| OBJECTS=" \ | |
| ./src/jv_print.o \ | |
| ./src/jv_unicode.o \ | |
| ./src/jv_aux.o \ | |
| ./src/jv_alloc.o \ | |
| ./src/jv_file.o \ | |
| ./src/jv_dtoa.o \ | |
| ./src/jq_test.o \ | |
| ./src/jv_parse.o \ | |
| ./src/parser.o \ | |
| ./src/main.o \ | |
| ./src/bytecode.o \ | |
| ./src/builtin.o \ | |
| ./src/inject_errors.o \ | |
| ./src/lexer.o \ | |
| ./src/util.o \ | |
| ./src/locfile.o \ | |
| ./src/linker.o \ | |
| ./src/jv.o \ | |
| ./src/execute.o \ | |
| ./src/compile.o \ | |
| " | |
| printf "%s\t" jq \ | |
| $OBJECTS -- \ | |
| "gcc -o jq -lm -ldl $OBJECTS" | |
| echo | |
| } | |
| TARGET="${1:-all}" | |
| case $TARGET in | |
| clean*) | |
| clean | |
| ;; | |
| all*) | |
| all | |
| ;; | |
| esac |
| #!/bin/sh | |
| CC=gcc | |
| CFLAGS+="-c -g -O3 -std=c99 -Wall -Werror -falign-functions=8 -D_GNU_SOURCE" | |
| printf "%s\t" builtins.o \ | |
| builtins.c builtins.h -- \ | |
| "$CC $CFLAGS -o builtins.o builtins.c" | |
| echo | |
| printf "%s\t" data.o \ | |
| data.c data.h -- \ | |
| "$CC $CFLAGS -o data.o data.c" | |
| echo | |
| printf "%s\t" gc.o \ | |
| gc.c gc.h -- \ | |
| "$CC $CFLAGS -o gc.o gc.c" | |
| echo | |
| printf "%s\t" interpreter.o \ | |
| interpreter.c interpreter.h -- \ | |
| "$CC $CFLAGS -o interpreter.o interpreter.c" | |
| echo | |
| printf "%s\t" loader.o \ | |
| loader.c loader.h -- \ | |
| "$CC $CFLAGS -o loader.o loader.c" | |
| echo | |
| printf "%s\t" read_word.o \ | |
| read_word.c read_word.h -- \ | |
| "$CC $CFLAGS -o read_word.o read_word.c" | |
| echo | |
| printf "%s\t" main.o \ | |
| main.c -- \ | |
| "$CC $CFLAGS -o main.o main.c" | |
| echo | |
| printf "%s\t" vm \ | |
| main.o read_word.o loader.o interpreter.o gc.o data.o builtins.o -- \ | |
| "$CC -o vm main.o read_word.o loader.o interpreter.o gc.o data.o builtins.o" | |
| echo |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment