Makefile (7f11fd00) Makefile (503609a9)
1#
2# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
3# Use is subject to license terms.
4#
5
1#
2# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
3# Use is subject to license terms.
4#
5
6NATIVE=native
7PROG= zic
8KSHPROG= tzselect
9NPROG= $(NATIVE)/$(PROG)
6include $(SRC)/cmd/Makefile.cmd
7include $(SRC)/cmd/Makefile.ctf
8include $(SRC)/cmd/zic/Makefile.common
10
9
11# "etcetera" must be listed before "backward" because it sets up links that
12# "backward" needs.
13TZFILES= africa antarctica asia australasia etcetera europe \
14 factory northamerica pacificnew solar87 solar88 solar89 \
15 southamerica backward
16# Don't build the systemv timezones, but do install the source file.
17SRCFILES = $(TZFILES) systemv README
18TABFILES = continent.tab country.tab zone_sun.tab
19
20OBJS= zic.o scheck.o ialloc.o
21SRCS= $(OBJS:%.o=%.c)
22NOBJS= $(OBJS:%=$(NATIVE)/%)
23
24CLOBBERFILES= $(NOBJS) $(KSHPROG) $(NPROG) $(NATIVE)/zic.c $(NATIVE)/tzfile.h
25
26include ../Makefile.cmd
27
28NCPPFLAGS= -I$(NATIVE)
29ROOTTZD= $(ROOTSHLIB)/zoneinfo
30ROOTTZSRCD= $(ROOTSHLIB)/zoneinfo/src
31ROOTTZTABD= $(ROOTSHLIB)/zoneinfo/tab
32DIRS= $(ROOTTZSRCD) $(ROOTTZTABD)
33
34CERRWARN += -_gcc=-Wno-unused-variable
35CERRWARN += -_gcc=-Wno-uninitialized
36
37ROOTLIBTZSRCFILES= $(SRCFILES:%=$(ROOTTZSRCD)/%)
38ROOTLIBTZTABFILES= $(TABFILES:%=$(ROOTTZTABD)/%)
10KSHPROG= tzselect
39ROOTKSHPROG= $(ROOTBIN)/$(KSHPROG)
11ROOTKSHPROG= $(ROOTBIN)/$(KSHPROG)
12CLOBBERFILES += $(KSHPROG)
40
13
41$(ROOTLIBTZSRCFILES):= FILEMODE= 0644
42$(ROOTLIBTZTABFILES):= FILEMODE= 0644
43
44#
45# Message catalog
14# Message catalog
46#
47POFILE2=tzselect.po
48POFILE3=zoneinfo.po
49POFILES3=$(TABFILES)
50TEXT_DOMAIN2=SUNW_OST_ZONEINFO
51MSGDOMAIN2=$(MSGROOT)/$(TEXT_DOMAIN2)
15POFILE2= tzselect.po
16TEXT_DOMAIN2= SUNW_OST_ZONEINFO
17MSGDOMAIN2= $(MSGROOT)/$(TEXT_DOMAIN2)
52
18
53# NB: $(POFILE2) is under SCM.
54CLOBBERFILES += $(POFILE) $(POFILE3)
55
56.KEEP_STATE:
57
19.KEEP_STATE:
20
58all: $(PROG) $(NPROG) $(KSHPROG)
21all: $(PROG) $(KSHPROG)
59
22
60$(PROG): $(OBJS)
61 $(LINK.c) $(OBJS) -o $@ $(LDLIBS)
62 $(POST_PROCESS)
23$(PROG): $(OBJS)
24 $(LINK.c) $(OBJS) -o $@ $(LDLIBS)
25 $(POST_PROCESS)
63
26
64install: all $(DIRS) $(ROOTTZSRCD) $(ROOTTZTABD) $(ROOTUSRSBINPROG) \
65 $(ROOTLIBTZSRCFILES) $(ROOTLIBTZTABFILES) $(ROOTKSHPROG)
66 $(NPROG) -d $(ROOTTZD) $(TZFILES)
27install: all $(ROOTUSRSBINPROG) $(ROOTKSHPROG)
67
28
68$(NPROG): $(NATIVE) $(NOBJS)
69 $(NATIVECC) $(NATIVE_CFLAGS) -o $@ $(NOBJS)
70
71#
72# XXX
73# There is a .ksh rule in Makefile.targ, but we need our custom POFILE rules.
74#
75$(KSHPROG): $(KSHPROG).ksh
76 $(RM) $@
77 $(CAT) $(KSHPROG).ksh > $@
78 $(CHMOD) +x $@
79
80$(ROOTTZSRCD)/%: %
81 $(INS.file)
82
83$(ROOTTZTABD)/%: %
84 $(INS.file)
85
86$(DIRS):
87 $(INS.dir)
88
89$(NATIVE):
90 -@mkdir -p $@
91
92clean:
29clean:
93 $(RM) $(OBJS)
30 $(RM) $(OBJS)
94
31
95lint: lint_SRCS
32lint: lint_SRCS
96
33
97$(NOBJS): $$(@F:.o=.c)
98 $(NATIVECC) -O $(NATIVE_CFLAGS) $(NCPPFLAGS) -c -o $@ $(@F:.o=.c)
99
100$(NATIVE)/zic.o: $(NATIVE)/tzfile.h
101
102$(NATIVE)/tzfile.h: $(ROOT)/usr/include/tzfile.h
103 $(RM) $@; cp $(ROOT)/usr/include/tzfile.h $@
104
105#
106# From ../Makefile.targ
107#
108clobber: clean
109 -$(RM) $(PROG) $(CLOBBERFILES)
110
111lint_PROG:
112 $(LINT.c) $(PROG).c $(LDLIBS)
113
114lint_SRCS:
115 $(LINT.c) $(SRCS) $(LDLIBS)
116
117#
118# For message catalogue files
119#
120_msg: $(MSGDOMAIN) $(POFILE) $(POFILE2) $(MSGDOMAIN2) $(POFILE3)
121 $(RM) $(MSGDOMAIN)/$(POFILE)
122 $(CP) $(POFILE) $(MSGDOMAIN)
123 $(RM) $(MSGDOMAIN)/$(POFILE2)
124 $(CP) $(POFILE2) $(MSGDOMAIN)
125 $(RM) $(MSGDOMAIN2)/$(POFILE3)
126 $(CP) $(POFILE3) $(MSGDOMAIN2)/$(POFILE3)
127
128$(MSGDOMAIN) $(DCMSGDOMAIN) $(MSGDOMAIN2):
129 $(INS.dir)
130
131$(POFILE3): $(POFILES3)
132 $(RM) $@
133 @/bin/sh ./do_pofile.sh > $@
134
34include $(SRC)/cmd/Makefile.targ