1# -*- makefile -*-
2
3OBJECTS = init.o poll.o errors.o processx-connection.o		     \
4          processx-vector.o create-time.o base64.o                   \
5          win/processx.o win/stdio.o win/named_pipe.o                \
6	  win/utils.o win/thread.o cleancall.o
7
8.PHONY: all clean
9
10PKG_CFLAGS = -DSTRICT_R_HEADERS
11
12PKG_LIBS = -lws2_32
13
14all: tools/px.exe tools/pxu.exe tools/interrupt.exe \
15	supervisor/supervisor.exe $(SHLIB) client$(SHLIB_EXT)
16
17tools/px.exe: tools/px.c
18	$(CC) $(CFLAGS) -Wall $< -o $@
19
20tools/pxu.exe: tools/pxu.c
21	$(CC) $(CFLAGS) -Wall -municode $< -o $@
22
23tools/interrupt.exe: tools/interrupt.c
24	$(CC) $(CFLAGS) -Wall $< -o $@
25
26supervisor/supervisor.exe: supervisor/supervisor.c supervisor/utils.c \
27			   supervisor/windows.c
28	$(CC) $(CFLAGS) $^ -o supervisor/supervisor.exe
29
30CLIENT_OBJECTS = base64.o client.o errors.o
31
32client$(SHLIB_EXT): $(CLIENT_OBJECTS)
33	$(SHLIB_LD) -shared $(DLLFLAGS) -o client$(SHLIB_EXT) \
34		$(CLIENT_OBJECTS) $(PKG_LIBS) $(SHLIB_LIBADD) $(LIBR)
35
36clean:
37	rm -rf $(SHLIB) $(OBJECTS) $(CLIENT_OBJECTS)			\
38	    supervisor/supervisor supervisor/supervisor.dSYM 		\
39	    supervisor/supervisor.exe tools/px.exe tools/interrupt.exe  \
40	    client$(SHLIB_EXT)
41