13955d011SMarcel Moolenaar#!/bin/sh 23955d011SMarcel Moolenaar 33955d011SMarcel Moolenaarset -e 43955d011SMarcel Moolenaar 53955d011SMarcel Moolenaarsrcdir=@srcdir@ 63955d011SMarcel Moolenaar 73955d011SMarcel MoolenaarDEFAULT_SYS_PATH="@default_sys_path@" 83955d011SMarcel Moolenaar 93955d011SMarcel Moolenaarcase "@use_meta@" in 103955d011SMarcel Moolenaaryes) XDEFS="-DUSE_META ${XDEFS}";; 113955d011SMarcel Moolenaaresac 123955d011SMarcel Moolenaar 133955d011SMarcel MoolenaarCC="@CC@" 140dede8b0SSimon J. GerratyCFLAGS="@CFLAGS@ -I. -I${srcdir} @DEFS@ @CPPFLAGS@ -DMAKE_NATIVE ${XDEFS} -DBMAKE_PATH_MAX=@bmake_path_max@" 153955d011SMarcel Moolenaar 16e22fef7dSSimon J. GerratyMAKE_VERSION=@_MAKE_VERSION@ 173955d011SMarcel Moolenaar 183955d011SMarcel MoolenaarMDEFS="-DMAKE_VERSION=\"$MAKE_VERSION\" \ 193955d011SMarcel Moolenaar-D@force_machine@MACHINE=\"@machine@\" -DMACHINE_ARCH=\"@machine_arch@\" \ 203955d011SMarcel Moolenaar-D_PATH_DEFSYSPATH=\"${DEFAULT_SYS_PATH}\"" 213955d011SMarcel Moolenaar 223955d011SMarcel Moolenaar 233955d011SMarcel MoolenaarLDFLAGS="@LDFLAGS@" 243955d011SMarcel MoolenaarLIBS="@LIBS@" 253955d011SMarcel Moolenaar 26*49caa483SSimon J. GerratytoUpper() { 27*49caa483SSimon J. Gerraty ${TR:-tr} abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 28*49caa483SSimon J. Gerraty} 29*49caa483SSimon J. Gerraty 303955d011SMarcel Moolenaardo_compile2() { 313955d011SMarcel Moolenaar obj="$1"; shift 323955d011SMarcel Moolenaar src="$1"; shift 333955d011SMarcel Moolenaar echo ${CC} -c ${CFLAGS} "$@" -o "$obj" "$src" 343955d011SMarcel Moolenaar ${CC} -c ${CFLAGS} "$@" -o "$obj" "$src" 353955d011SMarcel Moolenaar} 363955d011SMarcel Moolenaar 373955d011SMarcel Moolenaardo_compile() { 383955d011SMarcel Moolenaar obj="$1"; shift 39*49caa483SSimon J. Gerraty case "$1" in 40*49caa483SSimon J. Gerraty *.c) src=$1; shift;; 41*49caa483SSimon J. Gerraty *) src=`basename "$obj" .o`.c;; 42*49caa483SSimon J. Gerraty esac 433955d011SMarcel Moolenaar 443955d011SMarcel Moolenaar for d in "$srcdir" "$srcdir/lst.lib" 453955d011SMarcel Moolenaar do 463955d011SMarcel Moolenaar test -s "$d/$src" || continue 473955d011SMarcel Moolenaar 483955d011SMarcel Moolenaar do_compile2 "$obj" "$d/$src" "$@" || exit 1 493955d011SMarcel Moolenaar return 503955d011SMarcel Moolenaar done 513955d011SMarcel Moolenaar echo "Unknown object file '$obj'" >&2 523955d011SMarcel Moolenaar exit 1 533955d011SMarcel Moolenaar} 543955d011SMarcel Moolenaar 553955d011SMarcel Moolenaardo_link() { 563955d011SMarcel Moolenaar output="$1"; shift 573955d011SMarcel Moolenaar echo ${CC} ${LDSTATIC} ${LDFLAGS} -o "$output" "$@" ${LIBS} 583955d011SMarcel Moolenaar ${CC} ${LDSTATIC} ${LDFLAGS} -o "$output" "$@" ${LIBS} 593955d011SMarcel Moolenaar} 603955d011SMarcel Moolenaar 613955d011SMarcel MoolenaarBASE_OBJECTS="arch.o buf.o compat.o cond.o dir.o for.o getopt hash.o \ 62*49caa483SSimon J. Gerratymake.o make_malloc.o metachar.o parse.o sigcompat.o str.o strlist.o \ 633955d011SMarcel Moolenaarsuff.o targ.o trace.o var.o util.o" 643955d011SMarcel Moolenaar 653955d011SMarcel MoolenaarLST_OBJECTS="lstAppend.o lstDupl.o lstInit.o lstOpen.o \ 663955d011SMarcel MoolenaarlstAtEnd.o lstEnQueue.o lstInsert.o lstAtFront.o lstIsAtEnd.o \ 673955d011SMarcel MoolenaarlstClose.o lstFind.o lstIsEmpty.o lstRemove.o lstConcat.o \ 683955d011SMarcel MoolenaarlstFindFrom.o lstLast.o lstReplace.o lstFirst.o lstDatum.o \ 693955d011SMarcel MoolenaarlstForEach.o lstMember.o lstSucc.o lstDeQueue.o lstForEachFrom.o \ 703955d011SMarcel MoolenaarlstDestroy.o lstNext.o lstPrev.o" 713955d011SMarcel Moolenaar 723955d011SMarcel MoolenaarLIB_OBJECTS="@LIBOBJS@" 733955d011SMarcel Moolenaar 743955d011SMarcel Moolenaardo_compile main.o ${MDEFS} 753955d011SMarcel Moolenaar 763955d011SMarcel Moolenaarfor o in ${BASE_OBJECTS} ${LST_OBJECTS} ${LIB_OBJECTS} 773955d011SMarcel Moolenaardo 783955d011SMarcel Moolenaar do_compile "$o" 793955d011SMarcel Moolenaardone 803955d011SMarcel Moolenaar 813955d011SMarcel Moolenaarcase "@use_meta@" in 823955d011SMarcel Moolenaaryes) 83*49caa483SSimon J. Gerraty case "@use_filemon@" in 84*49caa483SSimon J. Gerraty no) MDEFS=;; 85*49caa483SSimon J. Gerraty *) 86*49caa483SSimon J. Gerraty MDEFS="-DUSE_FILEMON -DUSE_FILEMON_`echo @use_filemon@ | toUpper`" 87*49caa483SSimon J. Gerraty case "@use_filemon@,@filemon_h@" in 88*49caa483SSimon J. Gerraty dev,*/filemon.h) FDEFS="-DHAVE_FILEMON_H -I`dirname @filemon_h@`";; 89*49caa483SSimon J. Gerraty *) FDEFS=;; 903955d011SMarcel Moolenaar esac 91*49caa483SSimon J. Gerraty do_compile filemon_@use_filemon@.o filemon/filemon_@use_filemon@.c ${FDEFS} 92*49caa483SSimon J. Gerraty BASE_OBJECTS="filemon_@use_filemon@.o $BASE_OBJECTS" 93*49caa483SSimon J. Gerraty ;; 94*49caa483SSimon J. Gerraty esac 95*49caa483SSimon J. Gerraty do_compile meta.o ${MDEFS} 963955d011SMarcel Moolenaar BASE_OBJECTS="meta.o ${BASE_OBJECTS}" 973955d011SMarcel Moolenaar ;; 983955d011SMarcel Moolenaaresac 99*49caa483SSimon J. Gerratydo_compile job.o ${MDEFS} 1003955d011SMarcel Moolenaar 101*49caa483SSimon J. Gerratydo_link bmake main.o job.o ${BASE_OBJECTS} ${LST_OBJECTS} ${LIB_OBJECTS} 102