
srcbase = ..\oops-1.5.24\src

src  = $(srcbase);$(srcbase)\lib\misc;$(srcbase)\lib\getopt;$(srcbase)\lib\rwlock
mptn = Q:\WC\H\MPTN
#mptn = D:\MPTN\NEWINC
perv = l \Work\PERVLIB_OW\WCC003OR
cc_baseopt = -zp1 -d1 -bm -br -bt=OS2 -sg -wx -os -zq -fi=watcom.h -dHAVE_CONFIG_H

.c: $(src)
.obj: obj

all:			&
	oopscore.dll	&
	oopscore.lib	&
	oops.exe	&
	.SYMBOLIC


obj   = acl.obj		&
	clean_disk.obj	&
	common.obj	&
	dataq.obj	&
	ftp_utils.obj	&
	garbage_c.obj	&
	hash.obj	&
	http_utils.obj	&
	icp.obj		&
	lib.obj		&
	list.obj	&
	modules.obj	&
	oops.obj	&
	rotate_logs.obj	&
	run.obj		&
	run_client.obj	&
	ssl.obj		&
	statistics.obj	&
	storage.obj	&
	worker.obj	&
	workq.obj	&
			&
	y.tab.obj	&
	lex.yy.obj

libobj = getopt.obj rwlock.obj strtok_r.obj ulib.obj ulibsocks.obj

liblib = oopspcres.lib

config.h: $(srcbase)\config.h.in config.dat.local
	\work\makeconfig\config /in:$(srcbase)\config.h.in >00

oopscore.dll: $(obj) $(libobj) memdebug.obj
	wlink deb all system os2v2 dll file {$<} name $@ opt map,symf,elim l SO32DLL,TCP32DLL l $(liblib) @oopsexports.lnk opt desc 'Oops! main module' $(perv)

oopscore.lib: oopsexports.lnk
	wlib -b -c -n -irn -p=1 $@ +oopscore.dll

oops.exe: oopsrun.obj
	wlink deb all system os2v2 file {$<} name $@ l oopscore opt map,symf,stack=256K,desc 'Oops! loader' $(perv)

#y.tab.c: $(srcbase)/parser.y
#	\gnu\yacc -l -d $<

#	\gnu\flex -l

.c.obj: .AUTODEPEND
	@echo Compile: $<
	@wcc386 -bd -zm $(cc_baseopt) -wcd=202 -wcd=118 -i=$(%watcom)\h\os2;$(mptn);fooinc;.;$(srcbase);$(srcbase)\lib\getopt;$(srcbase)\lib\rwlock -fo=obj\ $<

oopsrun.obj: oopsrun.c
	@wcc386 $(cc_baseopt) -fo=obj\ $<

clean: .SYMBOLIC
	-del  obj\*.obj
	-del  modules\obj\*.obj
	-del  modules\*.map
	-del  modules\*.sym
	-del  modules\*.err
	-del  modules\*.exe
	-del  modules\*.dll
