1 # Makefile for Cygwin server
2 # Copyright 2003, 2006, 2007 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
15 exec_prefix:=@exec_prefix@
19 sysconfdir:=@sysconfdir@
20 program_transform_name:=@program_transform_name@
23 INSTALL_PROGRAM:=@INSTALL_PROGRAM@
24 INSTALL_DATA:=@INSTALL_DATA@
29 CXX_FOR_TARGET:=$(CXX)
32 include $(srcdir)/../Makefile.common
36 override CXXFLAGS+=-MMD -DHAVE_DECL_GETOPT=0 -D__OUTSIDE_CYGWIN__ -DSYSCONFDIR="\"$(sysconfdir)\""
38 .SUFFIXES: .c .cc .a .o .d
40 OBJS:= cygserver.o client.o process.o msg.o sem.o shm.o threaded_queue.o \
41 transport.o transport_pipes.o \
42 bsd_helper.o bsd_log.o bsd_mutex.o \
43 sysv_msg.o sysv_sem.o sysv_shm.o
44 LIBOBJS:=${patsubst %.o,lib%.o,$(OBJS)}
46 CYGWIN_OBJS:=$(cygwin_build)/version.o
48 CYGWIN_LIB:=$(cygwin_build)/libcygwin.a
52 install: all $(updir1)/mkinstalldirs cygserver.conf cygserver-config README
53 $(updir1)/mkinstalldirs $(sbindir)
54 $(updir1)/mkinstalldirs $(bindir)
55 $(updir1)/mkinstalldirs $(sysconfdir)/defaults/etc
56 $(updir1)/mkinstalldirs $(prefix)/share/doc/Cygwin
57 $(INSTALL_PROGRAM) cygserver.exe $(sbindir)/cygserver.exe
58 $(INSTALL_PROGRAM) $(srcdir)/cygserver-config $(bindir)/cygserver-config
59 $(INSTALL_DATA) $(srcdir)/cygserver.conf $(sysconfdir)/defaults/etc/cygserver.conf
60 $(INSTALL_DATA) $(srcdir)/README $(prefix)/share/doc/Cygwin/cygserver.README
63 rm -f $(OBJS) ${patsubst %.o,%.d,$(OBJS)} cygserver.exe
66 rm -f $(LIBOBJS) ${patsubst %.o,%.d,$(LIBOBJS)} libcygserver.a
68 fullclean: clean libclean
70 cygserver.exe: $(CYGWIN_LIB) $(OBJS) $(CYGWIN_OBJS)
71 $(CXX) -o $@ ${wordlist 2,999,$^} -L$(cygwin_build) -lntdll
73 $(cygwin_build)/%.o: $(cygwin_source)/%.cc
74 @$(MAKE) -C $(@D) $(@F)
76 $(cygwin_build)/%.o: $(cygwin_source)/%.c
77 @$(MAKE) -C $(@D) $(@F)
79 Makefile: Makefile.in configure
82 ${filter-out -D__OUTSIDE_CYGWIN__, $(COMPILE_CXX)} -I$(updir)/cygwin -o $(@D)/${basename $(@F)}$o $<
84 libcygserver.a: $(LIBOBJS)