4
0
mirror of git://sourceware.org/git/newlib-cygwin.git synced 2025-02-01 20:10:33 +08:00
Jon Turney 7fa743ca94
Cygwin: Restore setting CC and CXX Makefile variables
b55e3f19 was a bit too aggressive in dropping, rather than just
un-exporting these Makefile variables.  We need to set these to the
configured host compiler if we are cross-compiling, otherwise they
default to the build compiler.

Also export CC to the mkvers.sh script (which requires it since
4eca5e6a).  It's unclear why we can't just cause windres to use the
build 'cpp' as the pre-processor there.
2020-10-28 15:23:56 +00:00

85 lines
2.3 KiB
Makefile

# Makefile for Cygwin server
# 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.
srcdir:=@srcdir@
target_builddir:=@target_builddir@
winsup_srcdir:=@winsup_srcdir@
configure_args=@configure_args@
CC:=@CC@
CXX:=@CXX@
CFLAGS:=@CFLAGS@
override CXXFLAGS=@CXXFLAGS@
override CXXFLAGS+=-MMD -Wimplicit-fallthrough=5 -Werror -D__OUTSIDE_CYGWIN__ -DSYSCONFDIR="\"$(sysconfdir)\""
INCLUDES:=@INCLUDES@
include ${srcdir}/../Makefile.common
cygwin_build:=${target_builddir}/winsup/cygwin
DESTDIR=
prefix:=${DESTDIR}@prefix@
exec_prefix:=${DESTDIR}@exec_prefix@
bindir:=${DESTDIR}@bindir@
sbindir:=${DESTDIR}@sbindir@
sysconfdir:=${DESTDIR}@sysconfdir@
program_transform_name:=@program_transform_name@
INSTALL:=@INSTALL@
INSTALL_PROGRAM:=@INSTALL_PROGRAM@
INSTALL_DATA:=@INSTALL_DATA@
AR:=@AR@
OBJS:= cygserver.o client.o process.o msg.o sem.o shm.o threaded_queue.o \
transport.o transport_pipes.o \
bsd_helper.o bsd_log.o bsd_mutex.o \
sysv_msg.o sysv_sem.o sysv_shm.o setpwd.o pwdgrp.o
LIBOBJS:=${patsubst %.o,lib%.o,$(OBJS)}
CYGWIN_LIB:=$(cygwin_build)/libcygwin.a
all: cygserver.exe
install: all cygserver.conf cygserver-config README
/bin/mkdir -p $(DESTDIR)$(sbindir) $(DESTDIR)$(bindir) $(DESTDIR)$(sysconfdir)/defaults/etc $(DESTDIR)$(prefix)/share/doc/Cygwin
$(INSTALL_PROGRAM) cygserver.exe $(DESTDIR)$(sbindir)/cygserver.exe
$(INSTALL_PROGRAM) $(srcdir)/cygserver-config $(DESTDIR)$(bindir)/cygserver-config
$(INSTALL_DATA) $(srcdir)/cygserver.conf $(DESTDIR)$(sysconfdir)/defaults/etc/cygserver.conf
$(INSTALL_DATA) $(srcdir)/README $(DESTDIR)$(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)
$(CXX) -o $@ ${wordlist 2,999,$^} -static -static-libgcc -B$(cygwin_build) -lntdll
$(cygwin_build)/%.o:
$(MAKE) -C $(@D) $(@F)
Makefile: Makefile.in configure
./config.status
lib%.o: %.cc
${filter-out -D__OUTSIDE_CYGWIN__, $(COMPILE.cc)} -c -o $(@D)/${basename $(@F)}.o $<
libcygserver.a: $(LIBOBJS)
$(AR) crus $@ $?
deps:=${wildcard *.d}
ifneq (,$(deps))
include $(deps)
endif