#
# /emx/samples/makefile
#
CFLAGS=-g -Wall
CC=gcc $(CFLAGS)

.SUFFIXES: .c .m .exe

.c.exe:
	$(CC) -o $*.exe $<

.m.exe:
	$(CC) -o $*.exe $< -lobjc

default:        c-samples

all:            c-samples cpp-samples objc-samples

c-samples:      calc.exe graph.exe eatool.exe sieve.exe sort.exe \
                which.exe wm_demo.exe wm_hello.exe

cpp-samples:    sign

objc-samples:   objcsamp.exe

sign:           sign.dll signtest.exe

clean:
	-del *.exe
	-del *.dll
	-del *.lib
	-del *.o
	-del *.obj
	-del sign.def

calc.exe:       calc.c
eatool.exe:     eatool.c
objcsamp.exe:   objcsamp.m
sieve.exe:      sieve.c
sort.exe:       sort.c
which.exe:      which.c

graph.exe:      graph.c graph.def
	$(CC) -o graph.exe graph.c graph.def -lgraph
	emxbind -aq graph -acim

wm_demo.exe:    wm_demo.c
	$(CC) -o wm_demo.exe wm_demo.c -lvideo
	emxbind -aq wm_demo -acm

wm_hello.exe:   wm_hello.c
	$(CC) -o wm_hello.exe wm_hello.c -lvideo
	emxbind -aq wm_hello -acm

#
# sign
#
sign.obj:       sign.cc sign.h
	$(CC) -c sign.cc -Zdll -Zomf -Zmtd

sign.def: sign.df sign.obj
	copy sign.df sign.def
	emxexp sign.obj >>sign.def

sign.dll: sign.obj sign.def
	$(CC) -o sign.dll sign.obj sign.def -Zdll -Zomf -Zmtd

sign.lib: sign.def
	emximp -o sign.lib sign.def

signtest.exe: signtest.cc sign.lib signtest.def
	$(CC) -o signtest.exe signtest.cc sign.lib signtest.def -liostream -Zomf
