1236769Sobrien#!/bin/sh
2236769Sobrien
3236769Sobrienset -e
4236769Sobrien
5236769Sobriensrcdir=@srcdir@
6236769Sobrien
7236769SobrienDEFAULT_SYS_PATH="@default_sys_path@"
8236769Sobrien
9236769Sobriencase "@use_meta@" in
10236769Sobrienyes) XDEFS="-DUSE_META ${XDEFS}";;
11236769Sobrienesac
12236769Sobrien
13236769SobrienCC="@CC@"
14261212SsjgCFLAGS="@CFLAGS@ -I. -I${srcdir} @DEFS@ @CPPFLAGS@ -DMAKE_NATIVE ${XDEFS} -DBMAKE_PATH_MAX=@bmake_path_max@"
15236769Sobrien
16331246SsjgMAKE_VERSION=@_MAKE_VERSION@
17236769Sobrien
18236769SobrienMDEFS="-DMAKE_VERSION=\"$MAKE_VERSION\" \
19236769Sobrien-D@force_machine@MACHINE=\"@machine@\" -DMACHINE_ARCH=\"@machine_arch@\" \
20236769Sobrien-D_PATH_DEFSYSPATH=\"${DEFAULT_SYS_PATH}\""
21236769Sobrien
22236769Sobrien
23236769SobrienLDFLAGS="@LDFLAGS@"
24236769SobrienLIBS="@LIBS@"
25236769Sobrien
26236769Sobriendo_compile2() {
27236769Sobrien	obj="$1"; shift
28236769Sobrien	src="$1"; shift
29236769Sobrien	echo ${CC} -c ${CFLAGS} "$@" -o "$obj" "$src"
30236769Sobrien	${CC} -c ${CFLAGS} "$@" -o "$obj" "$src"
31236769Sobrien}
32236769Sobrien
33236769Sobriendo_compile() {
34236769Sobrien	obj="$1"; shift
35236769Sobrien	src=`basename "$obj" .o`.c
36236769Sobrien
37236769Sobrien	for d in "$srcdir" "$srcdir/lst.lib"
38236769Sobrien	do
39236769Sobrien		test -s "$d/$src" || continue
40236769Sobrien
41236769Sobrien		do_compile2 "$obj" "$d/$src" "$@" || exit 1
42236769Sobrien		return
43236769Sobrien	done
44236769Sobrien	echo "Unknown object file '$obj'" >&2
45236769Sobrien	exit 1
46236769Sobrien}
47236769Sobrien
48236769Sobriendo_link() {
49236769Sobrien	output="$1"; shift
50236769Sobrien	echo ${CC} ${LDSTATIC} ${LDFLAGS} -o "$output" "$@" ${LIBS}
51236769Sobrien	${CC} ${LDSTATIC} ${LDFLAGS} -o "$output" "$@" ${LIBS}
52236769Sobrien}
53236769Sobrien
54236769SobrienBASE_OBJECTS="arch.o buf.o compat.o cond.o dir.o for.o getopt hash.o \
55289842Ssjgjob.o make.o make_malloc.o metachar.o parse.o sigcompat.o str.o strlist.o \
56236769Sobriensuff.o targ.o trace.o var.o util.o"
57236769Sobrien
58236769SobrienLST_OBJECTS="lstAppend.o lstDupl.o lstInit.o lstOpen.o \
59236769SobrienlstAtEnd.o lstEnQueue.o lstInsert.o lstAtFront.o lstIsAtEnd.o \
60236769SobrienlstClose.o lstFind.o lstIsEmpty.o lstRemove.o lstConcat.o \
61236769SobrienlstFindFrom.o lstLast.o lstReplace.o lstFirst.o lstDatum.o \
62236769SobrienlstForEach.o lstMember.o lstSucc.o lstDeQueue.o lstForEachFrom.o \
63236769SobrienlstDestroy.o lstNext.o lstPrev.o"
64236769Sobrien
65236769SobrienLIB_OBJECTS="@LIBOBJS@"
66236769Sobrien
67236769Sobriendo_compile main.o ${MDEFS}
68236769Sobrien
69236769Sobrienfor o in ${BASE_OBJECTS} ${LST_OBJECTS} ${LIB_OBJECTS}
70236769Sobriendo
71236769Sobrien	do_compile "$o"
72236769Sobriendone
73236769Sobrien
74236769Sobriencase "@use_meta@" in
75236769Sobrienyes)
76236769Sobrien        case "@filemon_h@" in
77236769Sobrien	*/filemon.h) FDEFS="-DHAVE_FILEMON_H -I`dirname @filemon_h@`";;
78236769Sobrien	esac
79236769Sobrien        do_compile meta.o ${FDEFS}
80236769Sobrien        BASE_OBJECTS="meta.o ${BASE_OBJECTS}"
81236769Sobrien        ;;
82236769Sobrienesac
83236769Sobrien
84236769Sobriendo_link bmake main.o ${BASE_OBJECTS} ${LST_OBJECTS} ${LIB_OBJECTS}
85