101e196c8SJohn Marino#!/bin/sh 201e196c8SJohn Marino 301e196c8SJohn Marinoset -e 401e196c8SJohn Marino 501e196c8SJohn Marinosrcdir=@srcdir@ 601e196c8SJohn Marino 701e196c8SJohn MarinoDEFAULT_SYS_PATH="@default_sys_path@" 801e196c8SJohn Marino 901e196c8SJohn Marinocase "@use_meta@" in 1001e196c8SJohn Marinoyes) XDEFS="-DUSE_META ${XDEFS}";; 1101e196c8SJohn Marinoesac 1201e196c8SJohn Marino 1301e196c8SJohn MarinoCC="@CC@" 146a91b982SJohn MarinoCFLAGS="@CFLAGS@ -I. -I${srcdir} @DEFS@ @CPPFLAGS@ -DMAKE_NATIVE ${XDEFS} -DBMAKE_PATH_MAX=@bmake_path_max@" 1501e196c8SJohn Marino 16ca58f742SDaniel FojtMAKE_VERSION=@_MAKE_VERSION@ 1701e196c8SJohn Marino 1801e196c8SJohn MarinoMDEFS="-DMAKE_VERSION=\"$MAKE_VERSION\" \ 19a34d5fb1SAntonio Huete Jimenez-D@force_machine@MACHINE=\"@machine@\" \ 20a34d5fb1SAntonio Huete Jimenez-D@force_machine_arch@MACHINE_ARCH=\"@machine_arch@\" \ 2101e196c8SJohn Marino-D_PATH_DEFSYSPATH=\"${DEFAULT_SYS_PATH}\"" 2201e196c8SJohn Marino 2301e196c8SJohn Marino 2401e196c8SJohn MarinoLDFLAGS="@LDFLAGS@" 2501e196c8SJohn MarinoLIBS="@LIBS@" 2601e196c8SJohn Marino 27ca58f742SDaniel FojttoUpper() { 28ca58f742SDaniel Fojt ${TR:-tr} abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 29ca58f742SDaniel Fojt} 30ca58f742SDaniel Fojt 3101e196c8SJohn Marinodo_compile2() { 3201e196c8SJohn Marino obj="$1"; shift 3301e196c8SJohn Marino src="$1"; shift 3401e196c8SJohn Marino echo ${CC} -c ${CFLAGS} "$@" -o "$obj" "$src" 3501e196c8SJohn Marino ${CC} -c ${CFLAGS} "$@" -o "$obj" "$src" 3601e196c8SJohn Marino} 3701e196c8SJohn Marino 3801e196c8SJohn Marinodo_compile() { 3901e196c8SJohn Marino obj="$1"; shift 40ca58f742SDaniel Fojt case "$1" in 41ca58f742SDaniel Fojt *.c) src=$1; shift;; 42ca58f742SDaniel Fojt *) src=`basename "$obj" .o`.c;; 43ca58f742SDaniel Fojt esac 4401e196c8SJohn Marino 4501e196c8SJohn Marino for d in "$srcdir" "$srcdir/lst.lib" 4601e196c8SJohn Marino do 4701e196c8SJohn Marino test -s "$d/$src" || continue 4801e196c8SJohn Marino 4901e196c8SJohn Marino do_compile2 "$obj" "$d/$src" "$@" || exit 1 5001e196c8SJohn Marino return 5101e196c8SJohn Marino done 5201e196c8SJohn Marino echo "Unknown object file '$obj'" >&2 5301e196c8SJohn Marino exit 1 5401e196c8SJohn Marino} 5501e196c8SJohn Marino 5601e196c8SJohn Marinodo_link() { 5701e196c8SJohn Marino output="$1"; shift 5801e196c8SJohn Marino echo ${CC} ${LDSTATIC} ${LDFLAGS} -o "$output" "$@" ${LIBS} 5901e196c8SJohn Marino ${CC} ${LDSTATIC} ${LDFLAGS} -o "$output" "$@" ${LIBS} 6001e196c8SJohn Marino} 6101e196c8SJohn Marino 62*6eef5f0cSAntonio Huete JimenezBASE_OBJECTS="arch.o buf.o compat.o cond.o dir.o for.o hash.o \ 63a34d5fb1SAntonio Huete Jimenezlst.o make.o make_malloc.o metachar.o parse.o sigcompat.o str.o \ 6401e196c8SJohn Marinosuff.o targ.o trace.o var.o util.o" 6501e196c8SJohn Marino 6601e196c8SJohn MarinoLIB_OBJECTS="@LIBOBJS@" 6701e196c8SJohn Marino 6801e196c8SJohn Marinodo_compile main.o ${MDEFS} 6901e196c8SJohn Marino 70a34d5fb1SAntonio Huete Jimenezfor o in ${BASE_OBJECTS} ${LIB_OBJECTS} 7101e196c8SJohn Marinodo 7201e196c8SJohn Marino do_compile "$o" 7301e196c8SJohn Marinodone 7401e196c8SJohn Marino 7501e196c8SJohn Marinocase "@use_meta@" in 7601e196c8SJohn Marinoyes) 77ca58f742SDaniel Fojt case "@use_filemon@" in 78ca58f742SDaniel Fojt no) MDEFS=;; 79ca58f742SDaniel Fojt *) 80ca58f742SDaniel Fojt MDEFS="-DUSE_FILEMON -DUSE_FILEMON_`echo @use_filemon@ | toUpper`" 81ca58f742SDaniel Fojt case "@use_filemon@,@filemon_h@" in 82ca58f742SDaniel Fojt dev,*/filemon.h) FDEFS="-DHAVE_FILEMON_H -I`dirname @filemon_h@`";; 83ca58f742SDaniel Fojt *) FDEFS=;; 8401e196c8SJohn Marino esac 85ca58f742SDaniel Fojt do_compile filemon_@use_filemon@.o filemon/filemon_@use_filemon@.c ${FDEFS} 86ca58f742SDaniel Fojt BASE_OBJECTS="filemon_@use_filemon@.o $BASE_OBJECTS" 87ca58f742SDaniel Fojt ;; 88ca58f742SDaniel Fojt esac 89ca58f742SDaniel Fojt do_compile meta.o ${MDEFS} 9001e196c8SJohn Marino BASE_OBJECTS="meta.o ${BASE_OBJECTS}" 9101e196c8SJohn Marino ;; 9201e196c8SJohn Marinoesac 93ca58f742SDaniel Fojtdo_compile job.o ${MDEFS} 9401e196c8SJohn Marino 95ca58f742SDaniel Fojtdo_link bmake main.o job.o ${BASE_OBJECTS} ${LST_OBJECTS} ${LIB_OBJECTS} 96