1 # Makefile for Cygwin server
2 # Copyright 2003, 2006, 2007, 2008, 2009 Red Hat, Inc.
4 # This file is part of Cygwin.
6 # This software is a copyrighted work licensed under the terms of the
7 # Cygwin license. Please consult the file "CYGWIN_LICENSE" for
11 target_builddir
:=@target_builddir@
12 winsup_srcdir
:=@winsup_srcdir@
13 configure_args
=@configure_args@
19 override CXXFLAGS
=@CXXFLAGS@
20 override CXXFLAGS
+=-MMD
-D__OUTSIDE_CYGWIN__
-DSYSCONFDIR
="\"$(sysconfdir)\""
22 include ${srcdir}/..
/Makefile.common
24 cygwin_build
:=${target_builddir}/winsup
/cygwin
26 # environment variables used by ccwrap
27 export CCWRAP_HEADERS
:=$(dir ${srcdir})/cygwin
${cygwin_build}
28 export CCWRAP_SYSTEM_HEADERS
:=@cygwin_headers@ @newlib_headers@
29 export CCWRAP_DIRAFTER_HEADERS
:=@windows_headers@
32 prefix:=${DESTDIR}@
prefix@
33 exec_prefix:=${DESTDIR}@
exec_prefix@
34 bindir:=${DESTDIR}@
bindir@
35 sbindir
:=${DESTDIR}@sbindir@
36 sysconfdir
:=${DESTDIR}@sysconfdir@
37 program_transform_name
:=@program_transform_name@
40 INSTALL_PROGRAM
:=@INSTALL_PROGRAM@
41 INSTALL_DATA
:=@INSTALL_DATA@
46 OBJS
:= cygserver.o client.o process.o msg.o sem.o shm.o threaded_queue.o \
47 transport.o transport_pipes.o \
48 bsd_helper.o bsd_log.o bsd_mutex.o \
49 sysv_msg.o sysv_sem.o sysv_shm.o setpwd.o
50 LIBOBJS
:=${patsubst %.o
,lib
%.o
,$(OBJS
)}
52 CYGWIN_OBJS
:=$(cygwin_build
)/version.o
54 CYGWIN_LIB
:=$(cygwin_build
)/libcygwin.a
58 install: all cygserver.conf cygserver-config README
59 /bin
/mkdir
-p
$(DESTDIR
)$(sbindir
) $(DESTDIR
)$(bindir) $(DESTDIR
)$(sysconfdir
)/defaults
/etc
$(DESTDIR
)$(prefix)/share
/doc
/Cygwin
60 $(INSTALL_PROGRAM
) cygserver.exe
$(DESTDIR
)$(sbindir
)/cygserver.exe
61 $(INSTALL_PROGRAM
) $(srcdir)/cygserver-config
$(DESTDIR
)$(bindir)/cygserver-config
62 $(INSTALL_DATA
) $(srcdir)/cygserver.conf
$(DESTDIR
)$(sysconfdir
)/defaults
/etc
/cygserver.conf
63 $(INSTALL_DATA
) $(srcdir)/README
$(DESTDIR
)$(prefix)/share
/doc
/Cygwin
/cygserver.README
66 rm -f
$(OBJS
) ${patsubst %.o
,%.d
,$(OBJS
)} cygserver.exe
69 rm -f
$(LIBOBJS
) ${patsubst %.o
,%.d
,$(LIBOBJS
)} libcygserver.a
71 fullclean
: clean libclean
73 cygserver.exe
: $(CYGWIN_LIB
) $(OBJS
) $(CYGWIN_OBJS
)
74 $(CXX
) -o
$@
${wordlist
2,999,$^
} -static
-static-libgcc
-B
$(cygwin_build
) -lntdll
76 $(cygwin_build
)/%.o
: $(cygwin_source
)/%.
cc
77 @
$(MAKE
) -C
$(@D
) $(@F
)
79 $(cygwin_build
)/%.o
: $(cygwin_source
)/%.c
80 @
$(MAKE
) -C
$(@D
) $(@F
)
82 Makefile
: Makefile.in configure
86 ${filter-out -D__OUTSIDE_CYGWIN__
, $(COMPILE.
cc)} -c
-o
$(@D
)/${basename $(@F
)}.o
$<
88 libcygserver.a
: $(LIBOBJS
)