1*f65a228fSRobert Mustacchi# 2*f65a228fSRobert Mustacchi# This file and its contents are supplied under the terms of the 3*f65a228fSRobert Mustacchi# Common Development and Distribution License ("CDDL"), version 1.0. 4*f65a228fSRobert Mustacchi# You may only use this file in accordance with the terms of version 5*f65a228fSRobert Mustacchi# 1.0 of the CDDL. 6*f65a228fSRobert Mustacchi# 7*f65a228fSRobert Mustacchi# A full copy of the text of the CDDL should have accompanied this 8*f65a228fSRobert Mustacchi# source. A copy of the CDDL is also available via the Internet at 9*f65a228fSRobert Mustacchi# http://www.illumos.org/license/CDDL. 10*f65a228fSRobert Mustacchi# 11*f65a228fSRobert Mustacchi 12*f65a228fSRobert Mustacchi# 13*f65a228fSRobert Mustacchi# Copyright 2020 Robert Mustacchi 14*f65a228fSRobert Mustacchi# 15*f65a228fSRobert Mustacchi 16*f65a228fSRobert MustacchiPROGS = \ 17*f65a228fSRobert Mustacchi fileno \ 18*f65a228fSRobert Mustacchi fmemopentest \ 19*f65a228fSRobert Mustacchi ftell_ungetc \ 20*f65a228fSRobert Mustacchi memstream \ 21*f65a228fSRobert Mustacchi memstream_reopen \ 22*f65a228fSRobert Mustacchi open_memstreamtest \ 23*f65a228fSRobert Mustacchi orientation_test \ 24*f65a228fSRobert Mustacchi test_mbrtowc 25*f65a228fSRobert Mustacchi 26*f65a228fSRobert MustacchiPROGS32 = $(PROGS:%=%.32) 27*f65a228fSRobert MustacchiPROGS64 = $(PROGS:%=%.64) 28*f65a228fSRobert Mustacchi 29*f65a228fSRobert MustacchiROOTOPTDIR = $(ROOT)/opt/libc-tests/tests 30*f65a228fSRobert MustacchiROOTOPTSTDIO = $(ROOTOPTDIR)/stdio 31*f65a228fSRobert MustacchiROOTOPTPROGS = $(PROGS32:%=$(ROOTOPTSTDIO)/%) \ 32*f65a228fSRobert Mustacchi $(PROGS64:%=$(ROOTOPTSTDIO)/%) 33*f65a228fSRobert Mustacchi 34*f65a228fSRobert Mustacchiinclude $(SRC)/cmd/Makefile.cmd 35*f65a228fSRobert Mustacchi 36*f65a228fSRobert MustacchiCPPFLAGS += -D_REENTRANT -D__EXTENSIONS__ 37*f65a228fSRobert Mustacchi 38*f65a228fSRobert Mustacchi# 39*f65a228fSRobert Mustacchi# libumem is used to interpose on all of these tests to modify the 40*f65a228fSRobert Mustacchi# behavior of libc's malloc for additional debugging. Each of the tests 41*f65a228fSRobert Mustacchi# enables umem debugging in their program text. 42*f65a228fSRobert Mustacchi# 43*f65a228fSRobert MustacchiLDLIBS += -lumem 44*f65a228fSRobert MustacchiLDLIBS64 += -lumem 45*f65a228fSRobert Mustacchi 46*f65a228fSRobert Mustacchi# 47*f65a228fSRobert Mustacchi# This test requires C99/xpg6 behavior. Therefore we build it explicitly 48*f65a228fSRobert Mustacchi# with c99 and XPG7 so it has access to the required functions. 49*f65a228fSRobert Mustacchi# 50*f65a228fSRobert Mustacchimemstream_reopen.32 := CPPFLAGS += -D_XOPEN_SOURCE=700 51*f65a228fSRobert Mustacchimemstream_reopen.64 := CPPFLAGS += -D_XOPEN_SOURCE=700 52*f65a228fSRobert Mustacchimemstream_reopen.32 := CSTD = $(CSTD_GNU99) 53*f65a228fSRobert Mustacchimemstream_reopen.64 := CSTD = $(CSTD_GNU99) 54*f65a228fSRobert Mustacchi 55*f65a228fSRobert Mustacchi# Third-party code 56*f65a228fSRobert Mustacchiorientation_test.32 := SMOFF += all_func_returns 57*f65a228fSRobert Mustacchiorientation_test.64 := SMOFF += all_func_returns 58*f65a228fSRobert Mustacchi 59*f65a228fSRobert Mustacchi.KEEP_STATE: 60*f65a228fSRobert Mustacchi 61*f65a228fSRobert Mustacchiinstall: $(ROOTOPTPROGS) 62*f65a228fSRobert Mustacchi 63*f65a228fSRobert Mustacchiall: $(PROGS32) $(PROGS64) 64*f65a228fSRobert Mustacchi 65*f65a228fSRobert Mustacchiclean: 66*f65a228fSRobert Mustacchi 67*f65a228fSRobert Mustacchi$(ROOTOPTPROGS): $(PROGS32) $(PROGS64) $(ROOTOPTSTDIO) 68*f65a228fSRobert Mustacchi 69*f65a228fSRobert Mustacchi$(ROOTOPTDIR): 70*f65a228fSRobert Mustacchi $(INS.dir) 71*f65a228fSRobert Mustacchi 72*f65a228fSRobert Mustacchi$(ROOTOPTSTDIO): $(ROOTOPTDIR) 73*f65a228fSRobert Mustacchi $(INS.dir) 74*f65a228fSRobert Mustacchi 75*f65a228fSRobert Mustacchi$(ROOTOPTSTDIO)/%: % 76*f65a228fSRobert Mustacchi $(INS.file) 77*f65a228fSRobert Mustacchi 78*f65a228fSRobert Mustacchi%.64: %.c 79*f65a228fSRobert Mustacchi $(LINK64.c) -o $@ $< $(LDLIBS64) 80*f65a228fSRobert Mustacchi $(POST_PROCESS) 81*f65a228fSRobert Mustacchi 82*f65a228fSRobert Mustacchi%.32: %.c 83*f65a228fSRobert Mustacchi $(LINK.c) -o $@ $< $(LDLIBS) 84*f65a228fSRobert Mustacchi $(POST_PROCESS) 85*f65a228fSRobert Mustacchi 86*f65a228fSRobert Mustacchiclobber: 87*f65a228fSRobert Mustacchi $(RM) $(PROGS32) $(PROGS64) 88*f65a228fSRobert Mustacchi 89*f65a228fSRobert MustacchiFRC: 90