]>
Commit | Line | Data |
---|---|---|
c57452c8 | 1 | # Makefile for Cygwin server |
c57452c8 CF |
2 | |
3 | # This file is part of Cygwin. | |
4 | ||
5 | # This software is a copyrighted work licensed under the terms of the | |
6 | # Cygwin license. Please consult the file "CYGWIN_LICENSE" for | |
7 | # details. | |
8 | ||
c57452c8 | 9 | srcdir:=@srcdir@ |
4c36016b CF |
10 | target_builddir:=@target_builddir@ |
11 | winsup_srcdir:=@winsup_srcdir@ | |
12 | configure_args=@configure_args@ | |
13 | ||
14 | export CC:=@CC@ | |
15 | export CXX:=@CXX@ | |
16 | ||
065b05f2 CF |
17 | CFLAGS:=@CFLAGS@ |
18 | override CXXFLAGS=@CXXFLAGS@ | |
c8dc3fa0 | 19 | override CXXFLAGS+=-MMD -Wimplicit-fallthrough=4 -Werror -D__OUTSIDE_CYGWIN__ -DSYSCONFDIR="\"$(sysconfdir)\"" |
065b05f2 | 20 | |
4c36016b CF |
21 | include ${srcdir}/../Makefile.common |
22 | ||
23 | cygwin_build:=${target_builddir}/winsup/cygwin | |
24 | ||
25 | # environment variables used by ccwrap | |
26 | export CCWRAP_HEADERS:=$(dir ${srcdir})/cygwin ${cygwin_build} | |
27 | export CCWRAP_SYSTEM_HEADERS:=@cygwin_headers@ @newlib_headers@ | |
28 | export CCWRAP_DIRAFTER_HEADERS:=@windows_headers@ | |
c57452c8 | 29 | |
029d147e CF |
30 | DESTDIR= |
31 | prefix:=${DESTDIR}@prefix@ | |
32 | exec_prefix:=${DESTDIR}@exec_prefix@ | |
33 | bindir:=${DESTDIR}@bindir@ | |
34 | sbindir:=${DESTDIR}@sbindir@ | |
35 | sysconfdir:=${DESTDIR}@sysconfdir@ | |
c57452c8 CF |
36 | program_transform_name:=@program_transform_name@ |
37 | ||
38 | INSTALL:=@INSTALL@ | |
39 | INSTALL_PROGRAM:=@INSTALL_PROGRAM@ | |
40 | INSTALL_DATA:=@INSTALL_DATA@ | |
41 | ||
29c1c508 | 42 | AR:=@AR@ |
c57452c8 | 43 | |
c57452c8 | 44 | |
a245bd6e | 45 | OBJS:= cygserver.o client.o process.o msg.o sem.o shm.o threaded_queue.o \ |
de165669 | 46 | transport.o transport_pipes.o \ |
282113ba | 47 | bsd_helper.o bsd_log.o bsd_mutex.o \ |
600afd99 | 48 | sysv_msg.o sysv_sem.o sysv_shm.o setpwd.o pwdgrp.o |
29c1c508 | 49 | LIBOBJS:=${patsubst %.o,lib%.o,$(OBJS)} |
c57452c8 | 50 | |
fb7331e3 | 51 | CYGWIN_OBJS:=$(cygwin_build)/version.o |
c57452c8 | 52 | |
a2acbfb1 CV |
53 | CYGWIN_LIB:=$(cygwin_build)/libcygwin.a |
54 | ||
56797078 | 55 | all: cygserver.exe |
c57452c8 | 56 | |
2e488e95 CF |
57 | install: all cygserver.conf cygserver-config README |
58 | /bin/mkdir -p $(DESTDIR)$(sbindir) $(DESTDIR)$(bindir) $(DESTDIR)$(sysconfdir)/defaults/etc $(DESTDIR)$(prefix)/share/doc/Cygwin | |
99fe2b78 CF |
59 | $(INSTALL_PROGRAM) cygserver.exe $(DESTDIR)$(sbindir)/cygserver.exe |
60 | $(INSTALL_PROGRAM) $(srcdir)/cygserver-config $(DESTDIR)$(bindir)/cygserver-config | |
61 | $(INSTALL_DATA) $(srcdir)/cygserver.conf $(DESTDIR)$(sysconfdir)/defaults/etc/cygserver.conf | |
62 | $(INSTALL_DATA) $(srcdir)/README $(DESTDIR)$(prefix)/share/doc/Cygwin/cygserver.README | |
c57452c8 | 63 | |
4d8d80b8 | 64 | clean: |
282113ba CV |
65 | rm -f $(OBJS) ${patsubst %.o,%.d,$(OBJS)} cygserver.exe |
66 | ||
67 | libclean: | |
68 | rm -f $(LIBOBJS) ${patsubst %.o,%.d,$(LIBOBJS)} libcygserver.a | |
69 | ||
70 | fullclean: clean libclean | |
4d8d80b8 | 71 | |
fb7331e3 | 72 | cygserver.exe: $(CYGWIN_LIB) $(OBJS) $(CYGWIN_OBJS) |
61522196 | 73 | $(CXX) -o $@ ${wordlist 2,999,$^} -static -static-libgcc -B$(cygwin_build) -lntdll |
4d8d80b8 | 74 | |
4c8daae2 CV |
75 | $(cygwin_build)/%.o: |
76 | $(MAKE) -C $(@D) $(@F) | |
4d8d80b8 CF |
77 | |
78 | Makefile: Makefile.in configure | |
4c36016b | 79 | ./config.status |
29c1c508 CF |
80 | |
81 | lib%.o: %.cc | |
4c36016b | 82 | ${filter-out -D__OUTSIDE_CYGWIN__, $(COMPILE.cc)} -c -o $(@D)/${basename $(@F)}.o $< |
29c1c508 CF |
83 | |
84 | libcygserver.a: $(LIBOBJS) | |
85 | $(AR) crus $@ $? | |
282113ba CV |
86 | |
87 | deps:=${wildcard *.d} | |
88 | ifneq (,$(deps)) | |
89 | include $(deps) | |
90 | endif |