summaryrefslogtreecommitdiff
path: root/src/NMakefile
blob: 562fb90e1a43da56c26efc717c2d7187c898db64 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
CYGWIN_DIR = C:\cygwin
CYGWIN_PATH = C:\cygwin\bin

CONFUSE_DIR = C:\develop\confuse-2.7
PTHREADS_W32_DIR = C:\develop\pthreads-w32-2-9-1-release
NANOMSG_DIR = C:\develop\nanomsg-0.4-beta

GENGETOPT = $(CYGWIN_DIR)\usr\local\bin\gengetopt.exe

!IFNDEF CC
CC = cl
!ENDIF
!IFNDEF LINK
LINK = link
!ENDIF

INCLUDE_DIRS = \
	/I$(CONFUSE_DIR)\include \
	/I$(PTHREADS_W32_DIR) \
	/I$(NANOMSG_DIR)\include
	
CLFLAGS = /TP /MD /W2 /WX /nologo /O2 $(INCLUDE_DIRS)
LINKFLAGS = /nologo
LIBS =

.SUFFIXES: .c .obj .exe

.c.obj:
	$(CC) $(CLFLAGS) /c /Fo$@ $<

all: biruda.exe

biruda.exe: biruda.obj biruda_cmdline.obj master.obj coordinator.obj worker.obj
	$(LINK) $(LINKFLAGS) -$(LIBS) /out:$@ $**

biruda_cmdline.obj: biruda_cmdline.c
biruda.obj: biruda.c biruda_cmdline.h master.h coordinator.h worker.h sleep.h
master.obj: master.c master.h sleep.h
coordinator.obj: coordinator.c coordinator.h sleep.h
worker.obj: worker.c worker.h

biruda_cmdline.c: biruda.ggo
	$(GENGETOPT) -F biruda_cmdline --unamed-opts --conf-parser --include-getopt -i $**

biruda_cmdline.h: biruda.ggo
	$(GENGETOPT) -F biruda_cmdline --unamed-opts --conf-parser --include-getopt -i $**

clean:
	@-erase *.obj 2>NUL
	@-erase biruda.exe 2>NUL
	@-erase biruda_cmdline.h  biruda_cmdline.c 2>NUL