]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - contrib/apr/Makefile.win
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.git] / contrib / apr / Makefile.win
1 # Makefile.win for Win32 APR alone
2 #
3 # Targets are:
4 #
5 #     buildall - compile everything
6 #     checkall - run APR regression tests
7 #     install  - compile everything
8 #     clean    - mop up everything
9 #
10 # You can override the build mechanism, choose only one;
11 #
12 #     USEMAK=1 - compile from exported make files
13 #     USEDSW=1 - compile from .dsw / .dsp VC6 projects
14 #     USESLN=1 - compile from converted .sln / .vcproj VC7+ files
15 #
16 # Define ARCH to your desired preference (your PATH must point
17 # to the correct compiler tools!)  Choose only one;
18 #
19 #     ARCH="Win32 Release"
20 #     ARCH="Win32 Debug"
21 #     ARCH="Win32 Release9x"
22 #     ARCH="Win32 Debug9x"
23 #     ARCH="x64 Release"
24 #     ARCH="x64 Debug"
25 #
26 # For example;
27 #
28 #   nmake -f Makefile.win PREFIX=C:\APR buildall checkall install clean
29 #
30
31 !IF EXIST("apr.sln") && ([devenv /help > NUL 2>&1] == 0) \
32     && !defined(USEMAK) && !defined(USEDSW)
33 USESLN=1
34 USEMAK=0
35 USEDSW=0
36 !ELSEIF EXIST("apr.mak") && !defined(USEDSW)
37 USESLN=0
38 USEMAK=1
39 USEDSW=0
40 !ELSE
41 USESLN=0
42 USEMAK=0
43 USEDSW=1
44 !ENDIF
45
46 PREFIX=..\apr-dist
47
48 !IF [$(COMSPEC) /c cl /nologo /? \
49         | $(SystemRoot)\System32\find.exe "x64" >NUL ] == 0
50 ARCH=x64 Release
51 !ELSE
52 ARCH=Win32 Release
53 !ENDIF
54
55 !MESSAGE ARCH        = $(ARCH)
56 !MESSAGE PREFIX      = $(PREFIX)  (install path)
57
58
59 # Utility and Translation things, nothing here for the user
60 #
61 !IF "$(ARCH)" == "Win32 Release"
62 SLNARCH=Release|Win32
63 ARCHOSPATH=Release
64 LIBSOSPATH=LibR
65 !ELSEIF "$(ARCH)" == "Win32 Debug"
66 SLNARCH=Debug|Win32
67 ARCHOSPATH=Debug
68 LIBSOSPATH=LibD
69 !ELSEIF "$(ARCH)" == "Win32 Release9x"
70 SLNARCH=Release9x|Win32
71 ARCHOSPATH=9x\Release
72 LIBSOSPATH=9x\LibR
73 !ELSEIF "$(ARCH)" == "Win32 Debug9x"
74 SLNARCH=Debug9x|Win32
75 ARCHOSPATH=9x\Debug
76 LIBSOSPATH=9x\LibD
77 !ELSEIF "$(ARCH)" == "x64 Release"
78 SLNARCH=Release|x64
79 ARCHOSPATH=x64\Release
80 LIBSOSPATH=x64\LibR
81 !ELSEIF "$(ARCH)" == "x64 Debug"
82 SLNARCH=Debug|x64
83 ARCHOSPATH=x64\Debug
84 LIBSOSPATH=x64\LibD
85 !ENDIF
86
87 !IFNDEF MAKEOPT
88 # Only default the behavior if MAKEOPT= is omitted
89 !IFDEF _NMAKE_VER
90 # Microsoft NMake options
91 MAKEOPT=-nologo
92 !ELSEIF "$(MAKE)" == "make"
93 # Borland make options?  Not really supported (yet)
94 MAKEOPT=-s -N
95 !ENDIF
96 !ENDIF
97
98
99 all: buildall checkall
100
101 !IF $(USEMAK) == 1
102
103 clean:
104         $(MAKE) $(MAKEOPT) -f Makefile.win ARCH="$(ARCH)" \
105                 CTARGET=CLEAN buildall
106
107 buildall:
108         $(MAKE) $(MAKEOPT) -f apr.mak         CFG="apr - $(ARCH)" RECURSE=0 $(CTARGET)
109         $(MAKE) $(MAKEOPT) -f libapr.mak      CFG="libapr - $(ARCH)" RECURSE=0 $(CTARGET)
110         cd build
111          $(MAKE) $(MAKEOPT) -f aprapp.mak     CFG="aprapp - $(ARCH)" RECURSE=0 $(CTARGET)
112          $(MAKE) $(MAKEOPT) -f libaprapp.mak  CFG="libaprapp - $(ARCH)" RECURSE=0 $(CTARGET)
113         cd ..
114
115 !ELSEIF $(USESLN) == 1
116
117 clean:
118         -devenv apr.sln /useenv /clean "$(SLNARCH)" /project libaprapp
119         -devenv apr.sln /useenv /clean "$(SLNARCH)" /project libapr
120         -devenv apr.sln /useenv /clean "$(SLNARCH)" /project aprapp
121         -devenv apr.sln /useenv /clean "$(SLNARCH)" /project apr
122
123 buildall:
124         devenv apr.sln /useenv /build "$(SLNARCH)" /project apr
125         devenv apr.sln /useenv /build "$(SLNARCH)" /project aprapp
126         devenv apr.sln /useenv /build "$(SLNARCH)" /project libapr
127         devenv apr.sln /useenv /build "$(SLNARCH)" /project libaprapp
128
129 !ELSE
130 #       $(USEDSP) == 1
131
132 clean:
133         -msdev apr.dsw /USEENV /MAKE "libaprapp - $(ARCH)" /CLEAN
134         -msdev apr.dsw /USEENV /MAKE "libapr - $(ARCH)" /CLEAN
135         -msdev apr.dsw /USEENV /MAKE "aprapp - $(ARCH)" /CLEAN
136         -msdev apr.dsw /USEENV /MAKE "apr - $(ARCH)" /CLEAN
137
138 buildall:
139         @msdev apr.dsw /USEENV /MAKE "apr - $(ARCH)"
140         @msdev apr.dsw /USEENV /MAKE "aprapp - $(ARCH)"
141         @msdev apr.dsw /USEENV /MAKE "libapr - $(ARCH)"
142         @msdev apr.dsw /USEENV /MAKE "libaprapp - $(ARCH)"
143
144 !ENDIF
145
146
147 checkapr:
148         cd test
149          $(MAKE) $(MAKEOPT) -f Makefile.win MODEL=static \
150                 OUTDIR=$(LIBSOSPATH) check
151          $(MAKE) $(MAKEOPT) -f Makefile.win MODEL=dynamic \
152                 OUTDIR=$(ARCHOSPATH) check
153          cd ..
154
155 checkall: checkapr
156
157
158 install:
159         echo Y >.y
160         echo A >.A
161         @if NOT EXIST "$(PREFIX)\."             mkdir "$(PREFIX)"
162         @if NOT EXIST "$(PREFIX)\bin\."         mkdir "$(PREFIX)\bin"
163         @if NOT EXIST "$(PREFIX)\include\."     mkdir "$(PREFIX)\include"
164         @if NOT EXIST "$(PREFIX)\lib\."         mkdir "$(PREFIX)\lib"
165         copy CHANGES "$(PREFIX)\APR-CHANGES.txt" <.y
166         copy LICENSE "$(PREFIX)\APR-LICENSE.txt" <.y
167         copy NOTICE  "$(PREFIX)\APR-NOTICE.txt"  <.y
168         xcopy include\*.h               "$(PREFIX)\include\" /d < .a
169         copy $(LIBSOSPATH)\apr-1.lib            "$(PREFIX)\lib\" <.y
170         copy $(LIBSOSPATH)\apr-1.pdb            "$(PREFIX)\lib\" <.y
171         copy $(LIBSOSPATH)\aprapp-1.lib         "$(PREFIX)\lib\" <.y
172         copy $(LIBSOSPATH)\aprapp-1.pdb         "$(PREFIX)\lib\" <.y
173         copy $(ARCHOSPATH)\libaprapp-1.lib      "$(PREFIX)\lib\" <.y
174         copy $(ARCHOSPATH)\libaprapp-1.pdb      "$(PREFIX)\lib\" <.y
175         copy $(ARCHOSPATH)\libapr-1.lib         "$(PREFIX)\lib\" <.y
176         copy $(ARCHOSPATH)\libapr-1.exp         "$(PREFIX)\lib\" <.y
177         copy $(ARCHOSPATH)\libapr-1.dll         "$(PREFIX)\bin\" <.y
178         copy $(ARCHOSPATH)\libapr-1.pdb         "$(PREFIX)\bin\" <.y
179         del .y
180         del .a
181