File: Makefile

package info (click to toggle)
fcode-utils 1.0.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 46,768 kB
  • sloc: ansic: 9,717; csh: 241; makefile: 129; sh: 17
file content (79 lines) | stat: -rw-r--r-- 2,290 bytes parent folder | download
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
74
75
76
77
78
79
#
#                     OpenBIOS - free your system!
#                             ( Utilities )
#
#  This program is part of a free implementation of the IEEE 1275-1994
#  Standard for Boot (Initialization Configuration) Firmware.
#
#  Copyright (C) 2001-2006 Stefan Reinauer
#  Copyright (C) 2006-2009 coresystems GmbH
#
#  This program is free software; you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation; version 2 of the License.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with this program; if not, write to the Free Software
#  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA, 02110-1301 USA
#

PROGRAM = toke

DESTDIR ?= /usr/local
CC      ?= gcc
STRIP	?= strip
INCLUDES = -I../shared

# Normal flags
CFLAGS  ?= -O2 -Wall #-Wextra
LDFLAGS ?=

# Coverage:
#CFLAGS  := $(CFLAGS) -fprofile-arcs -ftest-coverage
#LDFLAGS := $(LDFLAGS) -lgcov

# Debugging:
# CFLAGS  := $(CFLAGS) -g

# for gcc 4. remove if you fixed the code.
_GCC4_CFLAGS=$(shell echo 'main(int argc, char **argv){return 0;}' > .test.c;   \
		$(CC) -Wno-pointer-sign -c .test.c -o .test.o > /dev/null 2>&1 \
		&& echo -Wno-pointer-sign; rm .test.c .test.o )
CFLAGS  := $(CFLAGS) $(_GCC4_CFLAGS)

OBJS  = clflags.o conditl.o devnode.o dictionary.o emit.o errhandler.o     \
        flowcontrol.o macros.o nextfcode.o parselocals.o scanner.o stack.o \
	stream.o strsubvocab.o ticvocab.o toke.o tokzesc.o tracesyms.o     \
	usersymbols.o ../shared/classcodes.o

all: .dependencies $(PROGRAM)

$(PROGRAM): $(OBJS)
	$(CC) -o $(PROGRAM) $(OBJS) $(LDFLAGS)
	$(STRIP) $(PROGRAM)

clean:
	rm -f $(OBJS) *~
	rm -f $(PROGRAM) .dependencies

.dependencies: *.c 
	@$(CC) $(CFLAGS) $(INCLUDES) -MM *.c > .dependencies

documentation:: *.c *.h toke.doxygen
	@doxygen toke.doxygen

.PHONY: all clean

-include .dependencies

.c.o:
	$(CC) -c $(CFLAGS) $(INCLUDES) $< -o $@ 

install:
	mkdir -p $(DESTDIR)/bin
	cp $(PROGRAM) $(DESTDIR)/bin/$(PROGRAM)