-
Notifications
You must be signed in to change notification settings - Fork 1
/
Makefile
50 lines (40 loc) · 1.67 KB
/
Makefile
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
BUILD = xbuild
RELEASEDIR = Releases
RELEASE = System.Net.FtpClient.$(shell date +%y.%m.%d)
RELEASEPATH = $(RELEASEDIR)/$(RELEASE)
SNK = $(HOME)/Dropbox/Documents/System.Net.FtpClient-SNK/System.Net.FtpClient.snk
all: debug
release:
$(BUILD) /p:Configuration=Release System.Net.FtpClient/System.Net.FtpClient.csproj
release-signed:
$(BUILD) /p:Configuration=Release /p:SignAssembly=true /p:AssemblyOriginatorKeyFile="$(SNK)" System.Net.FtpClient/System.Net.FtpClient.csproj
debug:
$(BUILD) /p:Configuration=Debug System.Net.FtpClient/System.Net.FtpClient.csproj
test: debug
$(BUILD) /p:Configuration=Debug Tests/Tests.csproj
mono Tests/bin/Debug/tests.exe
clean:
rm -rf Examples/bin
rm -rf Examples/obj
rm -rf System.Net.FtpClient/bin
rm -rf System.Net.FtpClient/obj
rm -rf Tests/bin
rm -rf Tests/obj
rm -rf $(RELEASEDIR)/*
codeplex: clean release debug
rm -rf $(RELEASEPATH)
mkdir -p $(RELEASEPATH)
mkdir -p $(RELEASEPATH)/bin
mkdir -p $(RELEASEPATH)/source
mkdir -p $(RELEASEPATH)/examples
cp -R System.Net.FtpClient/bin/* $(RELEASEPATH)/bin
cp -R System.Net.FtpClient/*.cs $(RELEASEPATH)/source
cp -R Examples/*.cs $(RELEASEPATH)/examples
cp LICENSE.TXT $(RELEASEPATH)
cd $(RELEASEDIR); zip -r $(RELEASE).zip $(RELEASE)/
rm -rf $(RELEASEPATH)
@echo Release: $(RELEASEDIR)/$(RELEASE).zip
nuget: clean release-signed
#nuget pack System.Net.FtpClient/System.Net.FtpClient.csproj -Prop Configuration=Release -OutputDirectory $(RELEASEDIR)
nuget pack System.Net.FtpClient/System.Net.FtpClient.nuspec -Version $(shell monodis --assembly System.Net.FtpClient/bin/Release/System.Net.FtpClient.dll | awk '/Version/ {print $$2}') -OutputDirectory $(RELEASEDIR)
packages: codeplex nuget