xref: /illumos-gate/usr/src/test/libc-tests/tests/printf-intmax/Makefile (revision 81e874d2d1a5be29bb118956027e1ea70e79e530)
1*81e874d2SHans Rosenfeld#
2*81e874d2SHans Rosenfeld# This file and its contents are supplied under the terms of the
3*81e874d2SHans Rosenfeld# Common Development and Distribution License ("CDDL"), version 1.0.
4*81e874d2SHans Rosenfeld# You may only use this file in accordance with the terms of version
5*81e874d2SHans Rosenfeld# 1.0 of the CDDL.
6*81e874d2SHans Rosenfeld#
7*81e874d2SHans Rosenfeld# A full copy of the text of the CDDL should have accompanied this
8*81e874d2SHans Rosenfeld# source.  A copy of the CDDL is also available via the Internet at
9*81e874d2SHans Rosenfeld# http://www.illumos.org/license/CDDL.
10*81e874d2SHans Rosenfeld#
11*81e874d2SHans Rosenfeld
12*81e874d2SHans Rosenfeld#
13*81e874d2SHans Rosenfeld# Copyright 2025 Hans Rosenfeld
14*81e874d2SHans Rosenfeld#
15*81e874d2SHans Rosenfeld
16*81e874d2SHans RosenfeldSCRIPTS = printf-intmax
17*81e874d2SHans Rosenfeld
18*81e874d2SHans RosenfeldPROG = printf-intmax
19*81e874d2SHans Rosenfeld
20*81e874d2SHans RosenfeldPROG32 = $(PROG:%=%.32)
21*81e874d2SHans RosenfeldPROG64 = $(PROG:%=%.64)
22*81e874d2SHans RosenfeldPROGC89 = $(PROG:%=%.c89)
23*81e874d2SHans Rosenfeld
24*81e874d2SHans RosenfeldOBJS = printf-intmax.o
25*81e874d2SHans Rosenfeld
26*81e874d2SHans RosenfeldOBJS32 = $(OBJS:%.o=%.32.o)
27*81e874d2SHans RosenfeldOBJS64 = $(OBJS:%.o=%.64.o)
28*81e874d2SHans RosenfeldOBJSC89 = $(OBJS:%.o=%.c89.o)
29*81e874d2SHans Rosenfeld
30*81e874d2SHans RosenfeldROOTOPTDIR = $(ROOT)/opt/libc-tests/tests
31*81e874d2SHans RosenfeldROOTOPTPROGS =	$(PROG32:%=$(ROOTOPTDIR)/%) \
32*81e874d2SHans Rosenfeld		$(PROG64:%=$(ROOTOPTDIR)/%) \
33*81e874d2SHans Rosenfeld		$(PROGC89:%=$(ROOTOPTDIR)/%)
34*81e874d2SHans RosenfeldROOTOPTSCRIPTS = $(SCRIPTS:%=$(ROOTOPTDIR)/%)
35*81e874d2SHans Rosenfeld
36*81e874d2SHans Rosenfeld$(ROOTOPTSCRIPTS) := FILEMODE = 0555
37*81e874d2SHans Rosenfeld
38*81e874d2SHans Rosenfeldinclude $(SRC)/cmd/Makefile.cmd
39*81e874d2SHans Rosenfeldinclude $(SRC)/test/Makefile.com
40*81e874d2SHans Rosenfeld
41*81e874d2SHans Rosenfeld# We decidedly want to build the C89 test using the C89 standard, but for the
42*81e874d2SHans Rosenfeld# other cases the only requirement is to have something newer than C89. We'll
43*81e874d2SHans Rosenfeld# use C99 for being next newer C standard.
44*81e874d2SHans Rosenfeld#
45*81e874d2SHans Rosenfeld# For the lack of CSTD_C{8,9}9 we'll use GNU variants of these C standards,
46*81e874d2SHans Rosenfeld# the difference shouldn't matter at all.
47*81e874d2SHans Rosenfeld$(PROGC89) := CSTD = $(CSTD_GNU89)
48*81e874d2SHans RosenfeldCSTD = $(CSTD_GNU99)
49*81e874d2SHans Rosenfeld
50*81e874d2SHans Rosenfeld.KEEP_STATE:
51*81e874d2SHans Rosenfeld
52*81e874d2SHans Rosenfeldall: $(PROG32) $(PROG64) $(PROGC89)
53*81e874d2SHans Rosenfeld
54*81e874d2SHans Rosenfeldinstall: $(ROOTOPTPROGS) $(ROOTOPTSCRIPTS) $(ROOTOPTDIR)
55*81e874d2SHans Rosenfeld
56*81e874d2SHans Rosenfeld$(ROOTOPTDIR):
57*81e874d2SHans Rosenfeld	$(INS.dir)
58*81e874d2SHans Rosenfeld
59*81e874d2SHans Rosenfeld$(ROOTOPTDIR)/%: %
60*81e874d2SHans Rosenfeld	$(INS.file)
61*81e874d2SHans Rosenfeld
62*81e874d2SHans Rosenfeld$(ROOTOPTDIR)/%: %.ksh
63*81e874d2SHans Rosenfeld	$(INS.rename)
64*81e874d2SHans Rosenfeld
65*81e874d2SHans Rosenfeld%.c89.o: %.c
66*81e874d2SHans Rosenfeld	$(COMPILE.c) -o $@ $<
67*81e874d2SHans Rosenfeld	$(POST_PROCESS_O)
68*81e874d2SHans Rosenfeld
69*81e874d2SHans Rosenfeld%.c89: $(OBJSC89)
70*81e874d2SHans Rosenfeld	$(LINK.c) -o $@ $(OBJSC89) $(LDLIBS)
71*81e874d2SHans Rosenfeld	$(POST_PROCESS)
72*81e874d2SHans Rosenfeld
73*81e874d2SHans Rosenfeld%.32.o: %.c
74*81e874d2SHans Rosenfeld	$(COMPILE.c) -o $@ $<
75*81e874d2SHans Rosenfeld	$(POST_PROCESS_O)
76*81e874d2SHans Rosenfeld
77*81e874d2SHans Rosenfeld%.32: $(OBJS32)
78*81e874d2SHans Rosenfeld	$(LINK.c) -o $@ $(OBJS32) $(LDLIBS)
79*81e874d2SHans Rosenfeld	$(POST_PROCESS)
80*81e874d2SHans Rosenfeld
81*81e874d2SHans Rosenfeld%.64.o: %.c
82*81e874d2SHans Rosenfeld	$(COMPILE64.c) -o $@ $<
83*81e874d2SHans Rosenfeld	$(POST_PROCESS_O)
84*81e874d2SHans Rosenfeld
85*81e874d2SHans Rosenfeld%.64: $(OBJS64)
86*81e874d2SHans Rosenfeld	$(LINK64.c) -o $@ $(OBJS64) $(LDLIBS64)
87*81e874d2SHans Rosenfeld	$(POST_PROCESS)
88*81e874d2SHans Rosenfeld
89*81e874d2SHans Rosenfeldclean:
90*81e874d2SHans Rosenfeld	-$(RM) $(OBJS32) $(OBJS64) $(OBJSC89)
91*81e874d2SHans Rosenfeld
92*81e874d2SHans Rosenfeldclobber: clean
93*81e874d2SHans Rosenfeld	-$(RM) $(PROG32) $(PROG64) $(PROGC89)
94*81e874d2SHans Rosenfeld
95*81e874d2SHans Rosenfeld
96