.POSIX:
# This makefile ought to be POSIX compatible, ie. maximally simple. No vendor
# specific extensions, no 'clever' tricks here. That means the stupid hard
# tabs, too!

INCS = -I. -I../h -I../../watcom/h -I../../lib_misc/h $(DEFS)
DEFS = $(TARGETDEF) -D__UNIX__ -DBOOTSTRAP -DPREBOOT -DINCL_MSGTEXT -D_XOPEN_SOURCE=600 -D_BLDVER=$(OWBLDVERTOOL) -D_CYEAR=xxxx $(EXTRADEF)
CFLAGS = -g -O2 $(INCS)

all: ../../../build/$(OWOBJDIR)/wmake

# Unfortunately there appears to be no portable way of specifying source
# directories. So we use brute force - it's just this one makefile, once we
# build wmake we're set :-)

macros.o: ../c/macros.c
	$(CC) $(CFLAGS) -c $?
main.o: ../c/main.c
	$(CC) $(CFLAGS) -c $?
mautodep.o: ../c/mautodep.c
	$(CC) $(CFLAGS) -c $?
mautoomf.o: ../c/mautoomf.c
	$(CC) $(CFLAGS) -c $?
mcache.o: ../c/mcache.c
	$(CC) $(CFLAGS) -c $?
memory.o: ../c/memory.c
	$(CC) $(CFLAGS) -c $?
mexec.o: ../c/mexec.c
	$(CC) $(CFLAGS) -c $?
mglob.o: ../c/mglob.c
	$(CC) $(CFLAGS) -c $?
mhash.o: ../c/mhash.c
	$(CC) $(CFLAGS) -c $?
misc.o: ../c/misc.c
	$(CC) $(CFLAGS) -c $?
mlex.o: ../c/mlex.c
	$(CC) $(CFLAGS) -c $?
mlexmac.o: ../c/mlexmac.c
	$(CC) $(CFLAGS) -c $?
mlexprs.o: ../c/mlexprs.c
	$(CC) $(CFLAGS) -c $?
mparse.o: ../c/mparse.c
	$(CC) $(CFLAGS) -c $?
mpreproc.o: ../c/mpreproc.c
	$(CC) $(CFLAGS) -c $?
mrcmsg.o: ../c/mrcmsg.c
	$(CC) $(CFLAGS) -c $?
msg.o: ../c/msg.c
	$(CC) $(CFLAGS) -c $?
mstream.o: ../c/mstream.c
	$(CC) $(CFLAGS) -c $?
msuffix.o: ../c/msuffix.c
	$(CC) $(CFLAGS) -c $?
msysdep.o: ../c/msysdep.c
	$(CC) $(CFLAGS) -c $?
mtarget.o: ../c/mtarget.c
	$(CC) $(CFLAGS) -c $?
mupdate.o: ../c/mupdate.c
	$(CC) $(CFLAGS) -c $?
mvecstr.o: ../c/mvecstr.c
	$(CC) $(CFLAGS) -c $?
depinfo.o: ../../watcom/c/depinfo.c
	$(CC) $(CFLAGS) -c $?
wsplice.o: ../../builder/c/wsplice.c
	$(CC) $(CFLAGS) -c $?
clibext.o: ../../watcom/c/clibext.c
	$(CC) $(CFLAGS) -c $?

OBJS = macros.o main.o mautodep.o mautoomf.o \
 mcache.o memory.o mexec.o mglob.o mhash.o misc.o mlex.o mlexmac.o mlexprs.o \
 mparse.o mpreproc.o mrcmsg.o msg.o mstream.o msuffix.o msysdep.o \
 mtarget.o mupdate.o mvecstr.o depinfo.o clibext.o

wsplice.exe: wsplice.o clibext.o
	$(CC) -g wsplice.o clibext.o -o $@

usage.gh : ../h/usage.sp wsplice.exe
	./wsplice.exe -kENGLISH -u -kUNIX -f 'pick((MSG_USAGE_BASE+%#%+), "%s", "")' ../h/usage.sp $@

cretype.exe : ../c/cretype.c
	$(CC) -I../../watcom/h -D__UNIX__ -o $@ $?

isarray.gh : cretype.exe
	./cretype.exe $@

../../../build/$(OWOBJDIR)/wmake: wmake.exe
	cp wmake.exe $@

wmake.exe: usage.gh isarray.gh $(OBJS)
	$(CC) -g $(OBJS) -o $@

clean:
	rm -f *.o *.gh *.exe
