#
# /emx/src/lib/os2_386/makefile
#
.INCLUDE: /emx/src/lib/lib0.mak

.PHONY: clean default os2 emxwrap

.SOURCE.c: ..
.SOURCE.imp: ..
.SOURCE.s: ..

LIBOS2=$(L)$(LIBNAME)
EMXWRAP=\emx\dll\emxwrap.dll

default:    os2 emxwrap

os2 .SETDIR=st:
	$(MAKE) -f ../makefile dstlib $(PASSDOWN) LIBNAME=os2.a MT_CCFLAGS= EMXIMP_FLAGS=

os2-p .SETDIR=st_p:
	$(MAKE) -f ../makefile dstlib $(PASSDOWN) LIBNAME=os2_p.a MT_CCFLAGS=-pg EMXIMP_FLAGS=-m

emxwrap: $(EMXWRAP) $(L)wrap.a $(L)wrap.lib

dstlib: $(LIBOS2)

clean:
	-del st\*.o $(DELOPT)
	-del st_p\*.o $(DELOPT)
	-del *.obj $(DELOPT)
	-del emxwrap1.c $(DELOPT)

IMPFILES=dos.imp gpi.imp help.imp msg.imp nls.imp que.imp ses.imp shl.imp \
    win.imp ctls.imp pic.imp drag.imp spl.imp wp.imp rexxapi.imp rexx.imp \
    som.imp dos16.imp kbd16.imp mon16.imp vio16.imp mou16.imp pmviop16.imp \
    pmmerge.imp

OFILES=code2.o code3.o \
    kbd1.o kbd3.o kbd4.o kbd5.o kbd7.o kbd8.o kbd9.o kbd10.o kbd11.o \
    kbd12.o kbd13.o kbd14.o kbd17.o kbd18.o kbd20.o kbd21.o kbd22.o \
    kbd23.o kbd24.o kbd25.o \
    vio1.o vio2.o vio3.o vio5.o vio6.o vio7.o vio8.o vio9.o vio10.o vio11.o \
    vio12.o vio13.o vio15.o vio18.o vio19.o vio21.o vio22.o vio23.o vio24.o \
    vio25.o vio26.o vio27.o vio28.o vio29.o vio30.o vio31.o vio32.o vio33.o \
    vio35.o vio37.o vio40.o vio42.o vio43.o vio44.o vio45.o vio46.o vio47.o \
    vio48.o vio49.o vio50.o vio51.o vio52.o vio53.o vio55.o vio56.o vio57.o \
    vio58.o vio59.o vio60.o vio61.o vio62.o vio63.o vio64.o vio65.o vio66.o \
    vio70.o vio75.o \
    mou1.o mou2.o mou3.o mou6.o mou7.o mou8.o mou9.o mou11.o mou13.o mou14.o \
    mou15.o mou16.o mou17.o mou18.o mou19.o mou20.o mou21.o mou22.o mou23.o \
    mou24.o mou25.o mou26.o mou27.o mou29.o mou30.o \
    pmviop30.o \
    mon1.o mon2.o mon3.o mon4.o mon5.o

CFILES= \
    kbd1.c kbd3.c kbd4.c kbd5.c kbd7.c kbd8.c kbd9.c kbd10.c kbd11.c \
    kbd12.c kbd13.c kbd14.c kbd17.c kbd18.c kbd20.c kbd21.c kbd22.c \
    kbd23.c kbd24.c kbd25.c \
    vio1.c vio2.c vio3.c vio5.c vio6.c vio7.c vio8.c vio9.c vio10.c vio11.c \
    vio12.c vio13.c vio15.c vio18.c vio19.c vio21.c vio22.c vio23.c vio24.c \
    vio25.c vio26.c vio27.c vio28.c vio29.c vio30.c vio31.c vio32.c vio33.c \
    vio35.c vio37.c vio40.c vio42.c vio43.c vio44.c vio45.c vio46.c vio47.c \
    vio48.c vio49.c vio50.c vio51.c vio52.c vio53.c vio55.c vio56.c vio57.c \
    vio58.c vio59.c vio60.c vio61.c vio62.c vio63.c vio64.c vio65.c vio66.c \
    vio70.c vio75.c \
    mou1.c mou2.c mou3.c mou6.c mou7.c mou8.c mou9.c mou11.c mou13.c mou14.c \
    mou15.c mou16.c mou17.c mou18.c mou19.c mou20.c mou21.c mou22.c mou23.c \
    mou24.c mou25.c mou26.c mou27.c mou29.c mou30.c \
    pmviop30.c \
    mon1.c mon2.c mon3.c mon4.c mon5.c

code2.o: code2.s $(ASM386H)
code3.o: code3.s $(ASM386H)

TEMP=$(strip $(IMPFILES))
DOTDOT_IMPFILES=../$(TEMP:s! ! ../!)

$(LIBOS2): $(IMPFILES) $(OFILES)
	emximp $(EMXIMP_FLAGS) -o $(LIBOS2) $(DOTDOT_IMPFILES)
	$(AR) r $(LIBOS2) *.o

$(L)wrap.a: $(L)wrap.lib
	emximp -o $(L)wrap.a $(L)wrap.lib

$(L)wrap.lib: emxwrap.def
	emximp -o emxwrap.imp emxwrap.def
	emximp -o $(L)wrap.lib emxwrap.imp
	-del emxwrap.imp


emxwrap1.c: $(CFILES)
	emxcat -o emxwrap1.c vio*.c kbd*.c mou*.c pmviop*.c mon*.c

emxwrap1.obj: emxwrap1.c
	$(CC) -c -Zomf emxwrap1.c

revision.obj: revision.c
	$(CC) -c -Zomf revision.c

$(EMXWRAP): $(L)res0.obj revision.obj emxwrap1.obj emxwrap.def \
    $(L)emx2.lib $(L)os2.lib
	link386 /noi /noe /nod $(L)res0 revision emxwrap1, emxwrap.dll, \
		nul, $(L)emx2 $(L)os2, emxwrap;
	copy emxwrap.dll $(EMXWRAP)
	del emxwrap.dll
