xref: /freebsd/crypto/krb5/src/lib/Makefile.in (revision 7f2fe78b9dd5f51c821d771b63d2e096f6fd49e9)
1mydir=lib
2SUBDIRS=crypto krb5 gssapi rpc kdb kadm5 apputils krad
3WINSUBDIRS=crypto krb5 gssapi
4BUILDTOP=$(REL)..
5
6all-unix:
7
8CLEANLIBS = libkrb5.a libkdb5.a libcrypto.a libgssapi_krb5.a libkadm.a \
9	libcom_err.a libpty.a ibss.a libgssapi.a libapputils.a libkrb5.so \
10	libcrypto.so
11
12clean-unix::
13
14clean-windows::
15
16# Windows stuff to make krb5 and gssapi DLLs.
17
18##MIT##!if !defined(VS_INC)
19##MIT##!message Must define VS_INC to point to version server include dir!
20##MIT##!error
21##MIT##!endif
22##MIT##!if !defined(VS_LIB)
23##MIT##!message Must define VS_LIB to point to version server library!
24##MIT##!error
25##MIT##!endif
26##MIT##MITLIBS=$(VS_LIB)
27##MIT##MITFLAGS=-I$(VS_INC) /DVERSERV=1
28
29
30
31##WIN32##SLIBS = $(BUILDTOP)\util\support\$(OUTPRE)k5sprt$(BITS).lib
32##WIN32##CLIBS = $(BUILDTOP)\util\et\$(OUTPRE)comerr.lib
33##WIN32##PLIBS = $(BUILDTOP)\util\profile\$(OUTPRE)profile.lib
34##WIN32##KLIBS = krb5\$(OUTPRE)krb5.lib crypto\$(OUTPRE)crypto.lib \
35##WIN32##	$(BUILDTOP)\util\profile\$(OUTPRE)profile.lib
36##WIN32##GLIBS = gssapi\$(OUTPRE)gssapi.lib
37
38
39##WIN32##SDEF = k5sprt32.def
40##WIN32##CDEF = comerr32.def
41##WIN32##PDEF = xpprof32.def
42##WIN32##KDEF = krb5_32.def
43##WIN32##GDEF = gssapi32.def
44
45
46
47##WIN32##KRB5RC = krb5.rc
48##WIN32##VERSIONRC = $(BUILDTOP)\windows\version.rc
49
50##WIN32##!if defined(VISUALSTUDIOVERSION)
51##WIN32##!if $(VISUALSTUDIOVERSION:.=) >= 140
52##WIN32##!ifdef NODEBUG
53##WIN32##WINCRTEXTRA = ucrt.lib vcruntime.lib
54##WIN32##!else
55##WIN32##WINCRTEXTRA = ucrtd.lib vcruntimed.lib
56##WIN32##!endif
57##WIN32##!endif
58##WIN32##!endif
59##WIN32##WINLIBS = kernel32.lib ws2_32.lib user32.lib shell32.lib oldnames.lib \
60##WIN32##	version.lib secur32.lib advapi32.lib gdi32.lib delayimp.lib \
61##WIN32##	$(WINCRTEXTRA)
62##WIN32##WINDLLFLAGS = $(DLL_LINKOPTS) -base:0x1c000000 /DELAYLOAD:secur32.dll \
63##WIN32##	/DELAYLOAD:advapi32.dll /DELAY:UNLOAD /DELAY:NOBIND
64
65##WIN32##S_GLUE=$(OUTPRE)support_glue.obj
66##WIN32##K5_GLUE=$(OUTPRE)k5_glue.obj
67##WIN32##GSS_GLUE=$(OUTPRE)gss_glue.obj
68##WIN32##COMERR_GLUE=$(OUTPRE)comerr_glue.obj
69##WIN32##PROF_GLUE=$(OUTPRE)prof_glue.obj
70
71##WIN32##SGLUE=$(S_GLUE)
72##WIN32##CGLUE=$(COMERR_GLUE)
73##WIN32##PGLUE=$(PROF_GLUE)
74##WIN32##KGLUE=$(K5_GLUE)
75##WIN32##GGLUE=$(GSS_GLUE)
76
77##WIN32##RCFLAGS=$(CPPFLAGS) -I$(top_srcdir) -D_WIN32 -DRES_ONLY
78
79##WIN32##SRES=$(SLIB:.lib=.res)
80##WIN32##CRES=$(CLIB:.lib=.res)
81##WIN32##PRES=$(PLIB:.lib=.res)
82##WIN32##KRES=$(KLIB:.lib=.res)
83##WIN32##GRES=$(GLIB:.lib=.res)
84
85##WIN32##$(SRES): $(VERSIONRC)
86##WIN32##	$(RC) $(RCFLAGS) -DSUPPORT_LIB -fo $@ -r $**
87##WIN32##$(CRES): $(VERSIONRC)
88##WIN32##	$(RC) $(RCFLAGS) -DCE_LIB -fo $@ -r $**
89##WIN32##$(PRES): $(VERSIONRC)
90##WIN32##	$(RC) $(RCFLAGS) -DPROF_LIB -fo $@ -r $**
91##WIN32##$(KRES): $(KRB5RC)
92##WIN32##	$(RC) $(RCFLAGS) -DKRB5_LIB -fo $@ -r $**
93##WIN32##$(GRES): $(VERSIONRC)
94##WIN32##	$(RC) $(RCFLAGS) -DGSSAPI_LIB -fo $@ -r $**
95##WIN32##$(KRB5RC): $(VERSIONRC)
96
97##WIN32##$(SLIB): $(SDEF) $(SLIBS) $(SGLUE) $(SRES)
98##WIN32##	link $(WINDLLFLAGS) -def:$(SDEF) -out:$*.dll \
99##WIN32##	  $(SLIBS) $(SGLUE) $(SRES) $(WINLIBS)
100##WIN32##	$(_VC_MANIFEST_EMBED_DLL)
101##WIN32##$(SDEF): ..\util\support\libkrb5support.exports
102##WIN32##	echo EXPORTS > $(SDEF).new
103##WIN32##	type ..\util\support\libkrb5support.exports >> $(SDEF).new
104##WIN32##	-$(RM) $(SDEF)
105##WIN32##	ren $(SDEF).new $(SDEF)
106
107##WIN32##$(CLIB): $(CDEF) $(CLIBS) $(CGLUE) $(CRES) $(SLIB)
108##WIN32##	link $(WINDLLFLAGS) -def:$(CDEF) -out:$*.dll \
109##WIN32##	  $(CLIBS) $(CGLUE) $(CRES) $(SLIB) $(WINLIBS)
110##WIN32##	$(_VC_MANIFEST_EMBED_DLL)
111
112##WIN32##$(PLIB): $(PDEF) $(PLIBS) $(PGLUE) $(PRES) $(CLIB) $(SLIB)
113##WIN32##	link $(WINDLLFLAGS) -def:$(PDEF) -out:$*.dll \
114##WIN32##	  $(PLIBS) $(PGLUE) $(PRES) $(CLIB) $(SLIB) $(WINLIBS)
115##WIN32##	$(_VC_MANIFEST_EMBED_DLL)
116
117##WIN32##$(KLIB): $(KDEF) $(KLIBS) $(KGLUE) $(KRES) $(CLIB) $(SLIB) $(MITLIBS)
118##WIN32##	link $(WINDLLFLAGS) -def:$(KDEF) -out:$*.dll \
119##WIN32##	  $(KLIBS) $(KGLUE) $(KRES) $(CLIB) $(SLIB) $(MITLIBS) $(DNSLIBS) $(WINLIBS)
120##WIN32##	$(_VC_MANIFEST_EMBED_DLL)
121
122##WIN32##$(GLIB): $(GDEF) $(GLIBS) $(GGLUE) $(GRES) $(KLIB) $(CLIB) $(SLIB)
123##WIN32##	link $(WINDLLFLAGS) -def:$(GDEF) -out:$*.dll \
124##WIN32##	  $(GLIBS) $(GGLUE) $(GRES) $(KLIB) $(CLIB) $(SLIB) $(WINLIBS)
125##WIN32##		$(_VC_MANIFEST_EMBED_DLL)
126
127##WIN32##$(K5_GLUE): win_glue.c
128##WIN32##	$(CC) $(ALL_CFLAGS) $(MITFLAGS) /c /DKRB5=1 /Fo$@ $**
129##WIN32##$(GSS_GLUE): win_glue.c
130##WIN32##	$(CC) $(ALL_CFLAGS) /c /DGSSAPI=1 /Fo$@ $**
131##WIN32##$(COMERR_GLUE): win_glue.c
132##WIN32##	$(CC) $(ALL_CFLAGS) /c /DCOMERR=1 /Fo$@ $**
133##WIN32##$(PROF_GLUE): win_glue.c
134##WIN32##	$(CC) $(ALL_CFLAGS) /c /DPROFILELIB=1 /Fo$@ $**
135##WIN32##$(S_GLUE): win_glue.c
136##WIN32##	$(CC) $(ALL_CFLAGS) /c /DSUPPORTLIB=1 /Fo$@ $**
137
138##WIN32### Build Convenience
139##WIN32##comerr.lib: $(CLIB)
140##WIN32##krb5.lib:   $(KLIB)
141##WIN32##gssapi.lib: $(GLIB)
142##WIN32##profile.lib: $(PLIB)
143
144##WIN32##all-windows: all-recurse lib-windows
145##WIN32##lib-windows: krb5.lib gssapi.lib profile.lib
146