1 ##################################################
3 # chronyd/chronyc - Programs for keeping computer clocks accurate.
5 # Copyright (C) Richard P. Curnow 1997-2003
7 # This program is free software; you can redistribute it and/or modify
8 # it under the terms of version 2 of the GNU General Public License as
9 # published by the Free Software Foundation.
11 # This program is distributed in the hope that it will be useful, but
12 # WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 # General Public License for more details.
16 # You should have received a copy of the GNU General Public License along
17 # with this program; if not, write to the Free Software Foundation, Inc.,
18 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20 # =======================================================================
24 SYSCONFDIR
= @SYSCONFDIR@
27 LOCALSTATEDIR
= @LOCALSTATEDIR@
28 CHRONYVARDIR
= @CHRONYVARDIR@
36 EXTRA_OBJS
= @EXTRA_OBJS@
38 OBJS
= array.o cmdparse.o conf.o local.o logging.o main.o memory.o \
39 reference.o regress.o rtc.o samplefilt.o sched.o socket.o sources.o sourcestats.o \
40 stubs.o smooth.o sys.o sys_null.o tempcomp.o util.o
$(EXTRA_OBJS
)
42 EXTRA_CLI_OBJS
= @EXTRA_CLI_OBJS@
44 CLI_OBJS
= array.o client.o cmdparse.o getdate.o memory.o nameserv.o \
45 pktlength.o socket.o util.o
$(EXTRA_CLI_OBJS
)
47 ALL_OBJS
= $(OBJS
) $(CLI_OBJS
)
50 EXTRA_LIBS
= @EXTRA_LIBS@
51 EXTRA_CLI_LIBS
= @EXTRA_CLI_LIBS@
53 # Until we have a main procedure we can link, just build object files
59 $(CC
) $(CFLAGS
) -o chronyd
$(OBJS
) $(LDFLAGS
) $(LIBS
) $(EXTRA_LIBS
)
62 $(CC
) $(CFLAGS
) -o chronyc
$(CLI_OBJS
) $(LDFLAGS
) $(LIBS
) $(EXTRA_CLI_LIBS
)
65 $(MAKE
) -C doc
distclean
66 $(MAKE
) -C
test/unit
distclean
68 -rm -f Makefile config.h config.log
71 $(MAKE
) -C
test/unit
clean
72 -rm -f
*.o
*.s chronyc chronyd core.
* *~
78 bison
-o getdate.c getdate.y
80 # This can be used to force regeneration of getdate.c
82 bison
-o getdate.c getdate.y
84 # For install, don't use the install command, because its switches
85 # seem to vary between systems.
87 install: chronyd chronyc
88 [ -d
$(DESTDIR
)$(SYSCONFDIR
) ] || mkdir
-p
$(DESTDIR
)$(SYSCONFDIR
)
89 [ -d
$(DESTDIR
)$(SBINDIR
) ] || mkdir
-p
$(DESTDIR
)$(SBINDIR
)
90 [ -d
$(DESTDIR
)$(BINDIR
) ] || mkdir
-p
$(DESTDIR
)$(BINDIR
)
91 [ -d
$(DESTDIR
)$(CHRONYVARDIR
) ] || mkdir
-p
$(DESTDIR
)$(CHRONYVARDIR
)
92 if
[ -f
$(DESTDIR
)$(SBINDIR
)/chronyd
]; then
rm -f
$(DESTDIR
)$(SBINDIR
)/chronyd
; fi
93 if
[ -f
$(DESTDIR
)$(BINDIR
)/chronyc
]; then
rm -f
$(DESTDIR
)$(BINDIR
)/chronyc
; fi
94 cp chronyd
$(DESTDIR
)$(SBINDIR
)/chronyd
95 chmod
755 $(DESTDIR
)$(SBINDIR
)/chronyd
96 cp chronyc
$(DESTDIR
)$(BINDIR
)/chronyc
97 chmod
755 $(DESTDIR
)$(BINDIR
)/chronyc
98 $(MAKE
) -C doc
install
104 $(MAKE
) -C doc install-docs
107 $(CC
) $(CFLAGS
) $(CPPFLAGS
) -c
$<
110 $(CC
) $(CFLAGS
) $(CPPFLAGS
) -S
$<
112 quickcheck
: chronyd chronyc
113 $(MAKE
) -C
test/unit
check
114 cd
test/simulation
&& .
/run
115 cd
test/system
&& .
/run
117 check : chronyd chronyc
118 $(MAKE
) -C
test/unit
check
119 cd
test/simulation
&& .
/run
-i
20 -m
2
120 cd
test/system
&& .
/run
122 print-chronyd-objects
:
125 Makefile
: Makefile.in configure
127 @echo Makefile needs to be regenerated
, run .
/configure
134 .deps
/%.d
: %.c | .deps
135 @
$(CC
) -MM
$(CPPFLAGS
) -MT
'$(<:%.c=%.o) $@' $< -o
$@
137 -include $(ALL_OBJS
:%.o
=.deps
/%.d
)