aboutsummaryrefslogtreecommitdiff
path: root/winsup/cygserver/Makefile.in
blob: 1b76a76434f2365a4eb839a2b272b44a6ba08eb8 (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
# Makefile for Cygwin server
# Copyright 2003 Red Hat, Inc.

# This file is part of Cygwin.

# This software is a copyrighted work licensed under the terms of the
# Cygwin license.  Please consult the file "CYGWIN_LICENSE" for
# details.

SHELL:=@SHELL@

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

bindir:=@bindir@
sbindir:=@sbindir@
sysconfdir:=@sysconfdir@
program_transform_name:=@program_transform_name@

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

CC:=@CC@
CC_FOR_TARGET:=$(CC)
CXX:=@CXX@
CXX_FOR_TARGET:=$(CXX)
AR:=@AR@

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

CFLAGS:=@CFLAGS@
CXXFLAGS:=@CXXFLAGS@
override CXXFLAGS+=-MMD -DHAVE_DECL_GETOPT=0 -D__OUTSIDE_CYGWIN__ -DSYSCONFDIR="\"$(sysconfdir)\""

.SUFFIXES: .c .cc .a .o .d

OBJS:=	cygserver.o client.o process.o msg.o sem.o shm.o threaded_queue.o \
	transport.o transport_pipes.o transport_sockets.o \
	bsd_helper.o bsd_log.o bsd_mutex.o \
	sysv_msg.o sysv_sem.o sysv_shm.o
LIBOBJS:=${patsubst %.o,lib%.o,$(OBJS)}

CYGWIN_OBJS:=$(cygwin_build)/smallprint.o $(cygwin_build)/version.o \
	$(cygwin_build)/wincap.o

CYGWIN_LIB:=$(cygwin_build)/libcygwin.a

all: cygserver.exe

install: all $(updir1)/mkinstalldirs cygserver.conf cygserver-config README
	$(updir1)/mkinstalldirs $(sbindir)
	$(updir1)/mkinstalldirs $(bindir)
	$(updir1)/mkinstalldirs $(sysconfdir)/defaults/etc
	$(updir1)/mkinstalldirs $(prefix)/share/doc/Cygwin
	$(INSTALL_PROGRAM) cygserver.exe $(sbindir)/cygserver.exe
	$(INSTALL_PROGRAM) $(srcdir)/cygserver-config $(bindir)/cygserver-config
	$(INSTALL_DATA) $(srcdir)/cygserver.conf $(sysconfdir)/defaults/etc/cygserver.conf
	$(INSTALL_DATA) $(srcdir)/README $(prefix)/share/doc/Cygwin/cygserver.README

clean:
	rm -f $(OBJS) ${patsubst %.o,%.d,$(OBJS)} cygserver.exe

libclean:
	rm -f $(LIBOBJS) ${patsubst %.o,%.d,$(LIBOBJS)} libcygserver.a

fullclean: clean libclean

cygserver.exe: $(CYGWIN_LIB) $(OBJS) $(CYGWIN_OBJS)
	$(CXX) -o $@ ${wordlist 2,999,$^} -L$(cygwin_build)

$(cygwin_build)/%.o: $(cygwin_source)/%.cc
	@$(MAKE) -C $(@D) $(@F)

$(cygwin_build)/%.o: $(cygwin_source)/%.c
	@$(MAKE) -C $(@D) $(@F)

Makefile: Makefile.in configure

lib%.o: %.cc
	${filter-out -D__OUTSIDE_CYGWIN__, $(COMPILE_CXX)} -I$(updir)/cygwin -o $(@D)/${basename $(@F)}$o $<

libcygserver.a: $(LIBOBJS)
	$(AR) crus $@ $?

deps:=${wildcard *.d}
ifneq (,$(deps))
include $(deps)
endif