aboutsummaryrefslogtreecommitdiff
path: root/winsup/lsaauth/Makefile.in
blob: 53e91c4065cb29530075d1f510963fe3f90637c2 (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
94
95
# Copyright (c) 2006, 2008, 2009, 2011, 2012, 2013 Red Hat, Inc.
#
#     This program is free software; you can redistribute it and/or modify
#     it under the terms of the GNU General Public License as published by
#     the Free Software Foundation; either version 2 of the License, or
#     (at your option) any later version.
#
#     A copy of the GNU General Public License can be found at
#     http://www.gnu.org/
#
# Written by Corinna Vinschen <vinschen@redhat.de>
#
# Makefile for Cygwin subauthentication DLL.

SHELL := @SHELL@

srcdir          := @srcdir@
VPATH           := @srcdir@
prefix          := @prefix@
exec_prefix     := @exec_prefix@

bindir          := @bindir@
etcdir          := $(exec_prefix)/etc

INSTALL         := @INSTALL@
INSTALL_PROGRAM := @INSTALL_PROGRAM@
INSTALL_DATA    := @INSTALL_DATA@

CC              := @CC@
CC_FOR_TARGET   := $(CC)

MINGW32_CC	:= @MINGW32_CC@
MINGW64_CC	:= @MINGW64_CC@

CFLAGS          := @CFLAGS@

include $(srcdir)/../Makefile.common

target_cpu:=@target_cpu@

WIN32_INCLUDES  := -I. -I$(srcdir)
WIN32_CFLAGS    := $(CFLAGS) $(WIN32_INCLUDES)
WIN32_LDFLAGS	:= $(CFLAGS) -nostdlib -Wl,-shared

# Never again try to remove advapi32.  It does not matter if the DLL calls
# advapi32 functions or the equivalent ntdll functions.
# But if the LSA authentication DLL is not linked against advapi32, it's
# not recognized by LSA.
LIBS		:= -ladvapi32 -lkernel32 -lntdll

ifneq ($(target_cpu),x86_64)
DLL32	:=	cyglsa.dll
DEF32	:=	cyglsa.def
OBJ32	:=	cyglsa.o
endif

DLL64	:=	cyglsa64.dll
DEF64	:=	cyglsa64.def
OBJ64	:=	cyglsa64.o

.SUFFIXES:
.NOEXPORT:

all: Makefile $(DLL32) $(DLL64)

$(DEF32): cyglsa.din config.status
	$(SHELL) config.status

$(DLL32): $(OBJ32) $(DEF32)
	$(MINGW32_CC) -s $(WIN32_LDFLAGS) -e _DllMain@12 -o $@ $^ $(LIBS)

$(OBJ32): cyglsa.c
	$(MINGW32_CC) $(WIN32_CFLAGS) -c -o $@ $<

$(DLL64): $(OBJ64) $(DEF64)
	$(MINGW64_CC) -s $(WIN32_LDFLAGS) -e DllMain -o $@ $^ $(LIBS)

$(OBJ64): cyglsa.c
	$(MINGW64_CC) $(WIN32_CFLAGS) -c -o $@ $<

.PHONY: all install clean realclean

realclean: clean
	rm -f  Makefile config.cache

clean:
	rm -f *.o *.dll cyglsa.def

install: all
	/bin/mkdir -p $(DESTDIR)$(bindir)
ifneq ($(target_cpu),x86_64)
	$(INSTALL_PROGRAM) $(DLL32) $(DESTDIR)$(bindir)/$(DLL32)
endif
	$(INSTALL_PROGRAM) $(DLL64) $(DESTDIR)$(bindir)/$(DLL64)
	$(INSTALL_PROGRAM) $(srcdir)/cyglsa-config $(DESTDIR)$(bindir)/cyglsa-config