xref: /freebsd-src/contrib/bmake/mk/posix.mk (revision c59c3bf34db360695f07735bebc76a768cac5afc)
1*c59c3bf3SSimon J. Gerraty# SPDX-License-Identifier: BSD-2-Clause
2*c59c3bf3SSimon J. Gerraty#
3*c59c3bf3SSimon J. Gerraty# $Id: posix.mk,v 1.3 2024/02/17 17:26:57 sjg Exp $
41d3f2ddcSSimon J. Gerraty#
51d3f2ddcSSimon J. Gerraty#	@(#) Copyright (c) 2022, Simon J. Gerraty
61d3f2ddcSSimon J. Gerraty#
71d3f2ddcSSimon J. Gerraty#	This file is provided in the hope that it will
81d3f2ddcSSimon J. Gerraty#	be of use.  There is absolutely NO WARRANTY.
91d3f2ddcSSimon J. Gerraty#	Permission to copy, redistribute or otherwise
101d3f2ddcSSimon J. Gerraty#	use this file is hereby granted provided that
111d3f2ddcSSimon J. Gerraty#	the above copyright notice and this notice are
121d3f2ddcSSimon J. Gerraty#	left intact.
131d3f2ddcSSimon J. Gerraty#
141d3f2ddcSSimon J. Gerraty#	Please send copies of changes and bug-fixes to:
151d3f2ddcSSimon J. Gerraty#	sjg@crufty.net
161d3f2ddcSSimon J. Gerraty#
171d3f2ddcSSimon J. Gerraty
181d3f2ddcSSimon J. Gerraty# The minimal set of rules required by POSIX
191d3f2ddcSSimon J. Gerraty
201d3f2ddcSSimon J. Gerraty.if !defined(%POSIX)
211d3f2ddcSSimon J. Gerraty.error ${.newline}Do not inlcude this directly, put .POSIX: at start of Makefile
221d3f2ddcSSimon J. Gerraty.endif
231d3f2ddcSSimon J. Gerraty
241d3f2ddcSSimon J. Gerraty.if ${.MAKEFLAGS:M-r} == ""
251d3f2ddcSSimon J. Gerraty# undo some work done by sys.mk
261d3f2ddcSSimon J. Gerraty.SUFFIXES:
271d3f2ddcSSimon J. Gerraty.undef ARFLAGS
281d3f2ddcSSimon J. Gerraty.undef CC CFLAGS
291d3f2ddcSSimon J. Gerraty.undef FC FFLAGS
301d3f2ddcSSimon J. Gerraty.undef LDFLAGS LFLAGS
311d3f2ddcSSimon J. Gerraty.undef RANLIBFLAGS
321d3f2ddcSSimon J. Gerraty.undef YFLAGS
331d3f2ddcSSimon J. Gerraty.endif
341d3f2ddcSSimon J. Gerraty
351d3f2ddcSSimon J. Gerraty.SUFFIXES: .o .c .y .l .a .sh .f
361d3f2ddcSSimon J. Gerraty
371d3f2ddcSSimon J. Gerraty# these can still be set via environment
381d3f2ddcSSimon J. GerratyAR ?= ar
391d3f2ddcSSimon J. GerratyARFLAGS ?= -rv
401d3f2ddcSSimon J. GerratyCC ?= c99
411d3f2ddcSSimon J. GerratyCFLAGS ?= -O
421d3f2ddcSSimon J. GerratyFC ?= fort77
431d3f2ddcSSimon J. GerratyFFLAGS ?= -O 1
441d3f2ddcSSimon J. GerratyLDFLAGS ?=
451d3f2ddcSSimon J. GerratyLEX ?= lex
461d3f2ddcSSimon J. GerratyLFLAGS ?=
471d3f2ddcSSimon J. GerratyRANLIBFLAGS ?= -D
481d3f2ddcSSimon J. GerratyYACC ?= yacc
491d3f2ddcSSimon J. GerratyYFLAGS ?=
501d3f2ddcSSimon J. Gerraty
511d3f2ddcSSimon J. Gerraty.c:
521d3f2ddcSSimon J. Gerraty	${CC} ${CFLAGS} ${LDFLAGS} -o $@ $<
531d3f2ddcSSimon J. Gerraty
541d3f2ddcSSimon J. Gerraty
551d3f2ddcSSimon J. Gerraty.f:
561d3f2ddcSSimon J. Gerraty	${FC} ${FFLAGS} ${LDFLAGS} -o $@ $<
571d3f2ddcSSimon J. Gerraty
581d3f2ddcSSimon J. Gerraty
591d3f2ddcSSimon J. Gerraty.sh:
601d3f2ddcSSimon J. Gerraty	cp $< $@
611d3f2ddcSSimon J. Gerraty	chmod a+x $@
621d3f2ddcSSimon J. Gerraty
631d3f2ddcSSimon J. Gerraty
641d3f2ddcSSimon J. Gerraty.c.o:
651d3f2ddcSSimon J. Gerraty	${CC} ${CFLAGS} -c $<
661d3f2ddcSSimon J. Gerraty
671d3f2ddcSSimon J. Gerraty
681d3f2ddcSSimon J. Gerraty.f.o:
691d3f2ddcSSimon J. Gerraty	${FC} ${FFLAGS} -c $<
701d3f2ddcSSimon J. Gerraty
711d3f2ddcSSimon J. Gerraty
721d3f2ddcSSimon J. Gerraty.y.o:
731d3f2ddcSSimon J. Gerraty	${YACC} ${YFLAGS} $<
741d3f2ddcSSimon J. Gerraty	${CC} ${CFLAGS} -c y.tab.c
751d3f2ddcSSimon J. Gerraty	rm -f y.tab.c
761d3f2ddcSSimon J. Gerraty	mv y.tab.o $@
771d3f2ddcSSimon J. Gerraty
781d3f2ddcSSimon J. Gerraty
791d3f2ddcSSimon J. Gerraty.l.o:
801d3f2ddcSSimon J. Gerraty	${LEX} ${LFLAGS} $<
811d3f2ddcSSimon J. Gerraty	${CC} ${CFLAGS} -c lex.yy.c
821d3f2ddcSSimon J. Gerraty	rm -f lex.yy.c
831d3f2ddcSSimon J. Gerraty	mv lex.yy.o $@
841d3f2ddcSSimon J. Gerraty
851d3f2ddcSSimon J. Gerraty
861d3f2ddcSSimon J. Gerraty.y.c:
871d3f2ddcSSimon J. Gerraty	${YACC} ${YFLAGS} $<
881d3f2ddcSSimon J. Gerraty	mv y.tab.c $@
891d3f2ddcSSimon J. Gerraty
901d3f2ddcSSimon J. Gerraty
911d3f2ddcSSimon J. Gerraty.l.c:
921d3f2ddcSSimon J. Gerraty	${LEX} ${LFLAGS} $<
931d3f2ddcSSimon J. Gerraty	mv lex.yy.c $@
941d3f2ddcSSimon J. Gerraty
951d3f2ddcSSimon J. Gerraty
961d3f2ddcSSimon J. Gerraty.c.a:
971d3f2ddcSSimon J. Gerraty	${CC} -c ${CFLAGS} $<
981d3f2ddcSSimon J. Gerraty	${AR} ${ARFLAGS} $@ $*.o
991d3f2ddcSSimon J. Gerraty	rm -f $*.o
1001d3f2ddcSSimon J. Gerraty
1011d3f2ddcSSimon J. Gerraty
1021d3f2ddcSSimon J. Gerraty.f.a:
1031d3f2ddcSSimon J. Gerraty	${FC} -c ${FFLAGS} $<
1041d3f2ddcSSimon J. Gerraty	${AR} ${ARFLAGS} $@ $*.o
1051d3f2ddcSSimon J. Gerraty	rm -f $*.o
1061d3f2ddcSSimon J. Gerraty
107