summaryrefslogtreecommitdiff
path: root/gnu/lib/libg++/libiberty/Makefile.bsd-wrapper
blob: 980cb369c15a006ade0015bd433f19b53d1712d3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#	$OpenBSD: Makefile.bsd-wrapper,v 1.1 1996/03/16 05:18:49 etheisen Exp $

LIB=		iberty
CPPFLAGS+=	-I$(.CURDIR) -I$(.CURDIR)/../include -I$(.OBJDIR)

# You must do a GNU build and then examine needed-list
# and config.h to determine HOST_FILES value.
HOST_FILES=	insque.c
SRCS=		argv.c basename.c concat.c cplus-dem.c fdmatch.c \
		getopt.c getopt1.c getruntime.c hex.c \
		floatformat.c obstack.c spaces.c strerror.c strsignal.c \
		vasprintf.c xatexit.c xexit.c xmalloc.c xstrerror.c \
		$(HOST_FILES)

CLEANFILES+=	alloca-conf.h needed-list $(NEEDED_LIST) config.h needed.awk \
		needed2.awk errors dummy dummy.o

all: alloca-conf.h config.h needed-list

beforedepend: alloca-conf.h config.h needed-list

alloca-conf.h:
	@echo Creating $(.TARGET) symlink
	@ln -s $(.CURDIR)/alloca-norm.h alloca-conf.h

# The following is from the GNU makefile
NEEDED_LIST=	lneeded-list
EXTRA_OFILES=

needed-list: $(NEEDED_LIST)
	@cp $(NEEDED_LIST) needed-list

lneeded-list: $(EXTRA_OFILES) needed.awk errors
	@echo Generating needed-list
	@rm -f lneeded-list
	@f=""; \
	for i in `awk -f needed.awk <errors` $(EXTRA_OFILES) ; do \
	  case " $$f " in \
	    *" $$i "*) ;; \
	    *) f="$$f $$i" ;; \
	  esac ; \
	done ; \
	echo $$f >>lneeded-list

needed.awk: functions.def
	@echo "# !Automatically generated from $(.CURDIR)/functions.def"\
	  "- DO NOT EDIT!" >needed.awk
	@grep '^DEF(' < $(.CURDIR)/functions.def \
	    | sed -e '/DEF/s|DEF.\([^,]*\).*|/\1/ { printf "\1.o " }|' \
	    >>needed.awk

config.h: needed2.awk errors
	@echo Generating $(.TARGET)
	@echo "/* !Automatically generated from $(.CURDIR)/functions.def"\
		"- DO NOT EDIT! */" >config.h
	@awk -f needed2.awk <errors >>config.h

needed2.awk: functions.def
	@echo "# !Automatically generated from $(.CURDIR)/functions.def"\
		"- DO NOT EDIT!" >needed2.awk
	@grep '^DEFVAR(' < $(.CURDIR)/functions.def \
		| sed -e '/DEFVAR/s|DEFVAR.\([^,]*\).*|/\1/ { printf "#ifndef NEED_\1\\n#define NEED_\1\\n#endif\\n" }|'  >>needed2.awk
	@grep '^DEFFUNC(' < $(.CURDIR)/functions.def \
		| sed -e '/DEFFUNC/s|DEFFUNC.\([^,]*\).*|/\1/ { printf "#ifndef NEED_\1\\n#define NEED_\1\\n#endif\\n" }|' >>needed2.awk

dummy.o: dummy.c functions.def
	@echo Generating $(.TARGET)
	@$(CC) -c $(CFLAGS) $(CPPFLAGS) $(.IMPSRC) 2>/dev/null

errors: dummy.o
	@-($(CC) -o dummy $(CFLAGS) $(LDFLAGS) dummy.o) >errors 2>&1 || true

.include <bsd.lib.mk>