1# $MirOS: src/usr.bin/make/Makefile.boot,v 1.10 2008/02/17 15:43:12 bsiegert Exp $ 2# $OpenPackages: Makefile.boot,v 1.5 2001/04/06 00:09:55 will Exp $ 3# $OpenBSD: Makefile.boot,v 1.8 2001/05/29 12:41:18 espie Exp $ 4# 5# a very simple makefile... 6# 7# You only want to use this if you aren't running MirOS. 8# 9# modify MACHINE and MACHINE_ARCH as appropriate for your target architecture 10 11#------------------------------ 12# System dependencies 13#------------------------------ 14 15#MACHINE=sun 16#MACHINE_ARCH=sparc 17MACHINE=i386 18MACHINE_ARCH=i386 19MACHINE_OS=BSD 20 21# set this to the true path of mirbsdksh 22MKSH= /bin/mksh 23 24# some make(1)s don't support += 25DEFS= -DMAKE_BOOTSTRAP #-DNEED_VSNPRINTF 26#DEFS_RE= -DNO_REGEX 27 28# paths 29LIBCDIR= /usr/src/lib/libc 30INCLDIR= /usr/src/include 31 32#============================== 33 34.c.o: 35 ${CC} ${CFLAGS} ${CPPFLAGS} -c $< -o $@ 36 37CFLAGS= -Iohash -I. ${DEFS} ${DEFS_RE} ${COPTS} -DMACHINE=\"${MACHINE}\" \ 38 -DMACHINE_ARCH=\"${MACHINE_ARCH}\" -DMACHINE_OS=\"${MACHINE_OS}\" \ 39 -D_PATH_MIRBSDKSH=\"${MKSH}\" -D_PATH_DEFSYSPATH=\"/usr/share/mk\" \ 40 -DIN_MIRMAKE 41LIBS= ohash/libohash.a 42 43# can be overridden 44getopt_long_o=getopt_long.o 45 46OBJ= arch.o buf.o compat.o cond.o dir.o for.o job.o main.o make.o \ 47 parse.o str.o suff.o targ.o var.o util.o error.o lowparse.o \ 48 varmodifiers.o memory.o cmd_exec.o timestamp.o parsevar.o \ 49 varname.o init.o strlfun.o ${getopt_long_o} fgetln.o 50 51LIBOBJ= lst.lib/lstAddNew.o lst.lib/lstAppend.o \ 52 lst.lib/lstConcat.o lst.lib/lstConcatDestroy.o lst.lib/lstDeQueue.o \ 53 lst.lib/lstDestroy.o lst.lib/lstDupl.o lst.lib/lstFindFrom.o \ 54 lst.lib/lstForEachFrom.o lst.lib/lstInsert.o \ 55 lst.lib/lstMember.o lst.lib/lstRemove.o lst.lib/lstReplace.o \ 56 lst.lib/lstSucc.o 57 58bmake: varhashconsts.h condhashconsts.h ${OBJ} ${LIBOBJ} 59# @echo 'make of make and make.0 started.' 60 ${CC} ${CFLAGS} ${OBJ} ${LIBOBJ} -o bmake ${LIBS} 61 @ls -l $@ 62# nroff -h -man make.1 >make.0 63# @echo 'make of make and make.0 completed.' 64 65GENOBJ= generate.o stats.o memory.o ohash/libohash.a 66 67OHASHOBJ= ohash/ohash_create_entry.o ohash/ohash_delete.o ohash/ohash_do.o \ 68 ohash/ohash_entries.o ohash/ohash_enum.o ohash/ohash_init.o \ 69 ohash/ohash_interval.o ohash/ohash_lookup_interval.o \ 70 ohash/ohash_lookup_memory.o ohash/ohash_qlookup.o \ 71 ohash/ohash_qlookupi.o 72 73ohash/libohash.a: ${OHASHOBJ} 74 ar cq ohash/libohash.a ${OHASHOBJ} 75 ranlib ohash/libohash.a 76 77generate: ${GENOBJ} 78 ${CC} ${CFLAGS} ${GENOBJ} -o generate ${LIBS} 79 80varhashconsts.h: generate 81 ./generate 1 82 >varhashconsts.h 82 83condhashconsts.h: generate 84 ./generate 2 65 >condhashconsts.h 85 86clean: 87 rm -f ${OBJ} ${LIBOBJ} ${PORTOBJ} ${GENOBJ} ${OHASHOBJ} bmake 88 rm -f varhashconsts.h condhashconsts.h generate 89