summaryrefslogtreecommitdiff
path: root/cpp/demo/Manual/map_filesystem/Makefile.mak
blob: 9b8c1e7cc01a9ed4f5ec4bffa24f7085c03fccf0 (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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# **********************************************************************
#
# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
#
# **********************************************************************

top_srcdir	= ..\..\..

CLIENT		= client.exe
SERVER		= server.exe

TARGETS		= $(CLIENT) $(SERVER)

SLICE_OBJS	= .\Filesystem.obj \
		  .\FilesystemDB.obj

COBJS		= .\Filesystem.obj \
		  .\Client.obj \
		  .\Grammar.obj \
		  .\Parser.obj \
		  .\Scanner.obj

SOBJS		= $(SLICE_OBJS) \
		  .\FilesystemI.obj \
		  .\Server.obj \
		  .\IdentityDirectoryEntryMap.obj \
		  .\IdentityFileEntryMap.obj

OBJS		= $(COBJS) \
		  $(SOBJS)

all:: IdentityDirectoryEntryMap.cpp IdentityDirectoryEntryMap.h IdentityFileEntryMap.cpp IdentityFileEntryMap.h

!include $(top_srcdir)/config/Make.rules.mak

CPPFLAGS	= -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
SLICE2CPPFLAGS	= -I. $(SLICE2CPPFLAGS)

!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS        = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS        = /pdb:$(SERVER:.exe=.pdb)
!endif

$(CLIENT): $(COBJS)
	$(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
	@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
	    $(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest

$(SERVER): $(SOBJS)
	$(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) 
	@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
	    $(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest

IdentityFileEntryMap.h: IdentityFileEntryMap.cpp
IdentityFileEntryMap.cpp: FilesystemDB.ice Filesystem.ice "$(SLICE2FREEZE)" "$(SLICEPARSERLIB)"
	del /q IdentityFileEntryMap.h IdentityFileEntryMap.cpp
	"$(SLICE2FREEZE)" -I"$(slicedir)" -I. --ice \
                --dict FilesystemDB::IdentityFileEntryMap,Ice::Identity,FilesystemDB::FileEntry \
		IdentityFileEntryMap FilesystemDB.ice "$(slicedir)/Ice/Identity.ice"

IdentityDirectoryEntryMap.h: IdentityDirectoryEntryMap.cpp
IdentityDirectoryEntryMap.cpp: FilesystemDB.ice Filesystem.ice "$(SLICE2FREEZE)" "$(SLICEPARSERLIB)"
	del /q IdentityDirectoryEntryMap.h IdentityDirectoryEntryMap.cpp
	"$(SLICE2FREEZE)" -I"$(slicedir)" -I. --ice \
                --dict FilesystemDB::IdentityDirectoryEntryMap,Ice::Identity,FilesystemDB::DirectoryEntry \
		IdentityDirectoryEntryMap FilesystemDB.ice "$(slicedir)/Ice/Identity.ice"

Scanner.cpp: Scanner.l
	flex Scanner.l
	-del /q $@
	echo #include "IceUtil/ScannerConfig.h" >> Scanner.cpp
	type lex.yy.c >> Scanner.cpp
	-del /q lex.yy.c

Grammar.cpp Grammar.h: Grammar.y
	-del /q Grammar.h Grammar.cpp
	bison -dvt Grammar.y
	move Grammar.tab.c Grammar.cpp
	move Grammar.tab.h Grammar.h
	-del /q Grammar.output

clean::
	-del /q Filesystem.cpp Filesystem.h
	-del /q FilesystemDB.cpp FilesystemDB.h
	-del /q IdentityFileEntryMap.cpp IdentityFileEntryMap.h
	-del /q IdentityDirectoryEntryMap.cpp IdentityDirectoryEntryMap.h

clean::
	-if exist db\__Freeze rmdir /q /s db\__Freeze
	-for %f in (db\*) do if not %f == db\.gitignore del /q %f