xref: /illumos-gate/usr/src/cmd/eqn/neqn.d/Makefile (revision 33efde4275d24731ef87927237b0ffb0630b6b2d)
1#
2# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
3# Use is subject to license terms.
4#
5# Copyright (c) 2018, Joyent, Inc.
6
7include		../../Makefile.cmd
8
9PROG =		neqn
10
11CSRCS =		diacrit.c eqnbox.c font.c fromto.c funny.c	\
12		glob.c integral.c io.c lex.c lookup.c		\
13		mark.c matrix.c move.c over.c paren.c		\
14		pile.c shift.c size.c sqrt.c text.c
15
16SRCS =		$(CSRCS:%=../%)
17
18YACCSRC =	e.y
19
20COBJS =		$(CSRCS:%.c=%.o)
21OBJS =		$(YACCSRC:%.y=%.o) $(COBJS)
22
23
24CLEANFILES =	y.tab.c y.tab.h $(YACCSRC:%.y=%.c) $(YACCSRC:%.y=%.def)
25
26YFLAGS =	-d
27CPPFLAGS =	-DNEQN -I. -I.. $(CPPFLAGS.master)
28LDFLAGS +=	$(MAPFILE.NGB:%=-Wl,-M%)
29
30CERRWARN +=	-_gcc=-Wno-implicit-function-declaration
31CERRWARN +=	$(CNOWARN_UNINIT)
32
33# because of labels from yacc
34e.o := CERRWARN += -_gcc=-Wno-unused-label
35
36# not linted
37SMATCH=off
38
39#
40# for message catalog
41#
42POFILE= neqn.d.po
43POFILES= e.po
44
45.KEEP_STATE:
46
47all :		$(PROG)
48
49$(PROG) :	$(OBJS) $(MAPFILE.NGB)
50		$(LINK.c) -o $@ $(OBJS) $(LDFLAGS) $(LDLIBS)
51		$(POST_PROCESS)
52
53catalog:        $(POFILE)
54
55$(POFILE):      $(POFILES)
56	 $(RM)	$@
57	 cat     $(POFILES)      > $@
58
59
60$(YACCSRC:%.y=%.c) + $(YACCSRC:%.y=%.def) : ../$(YACCSRC)
61		$(YACC.y) ../$(YACCSRC)
62		$(MV) y.tab.c $(YACCSRC:%.y=%.c)
63		$(MV) y.tab.h $(YACCSRC:%.y=%.def)
64
65$(COBJS) :	$$(@:%.o=../%.c)
66		$(COMPILE.c) ../$(@:%.o=%.c)
67
68install :	all $(ROOTPROG)
69
70clean:
71		$(RM) $(OBJS) $(CLEANFILES)
72
73include		../../Makefile.targ
74