summaryrefslogtreecommitdiff
path: root/makefile
blob: e03657bef12d160590b029ed5ab27ec31d026e36 (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
# $Id: makefile,v 1.31 2003/06/05 14:01:37 bursa Exp $

CC = riscos-gcc
OBJECTS = cache.o content.o fetch.o fetchcache.o \
	css.o css_enum.o parser.o ruleset.o scanner.o \
	browser.o netsurf.o \
	box.o html.o layout.o textplain.o \
	filetype.o font.o gif.o gui.o jpeg.o png.o theme.o \
	utils.o plugin.o options.o
DOCUMENTS = Themes.html	
VPATH = content:css:desktop:render:riscos:utils
WARNFLAGS = -W -Wall -Wundef -Wpointer-arith -Wbad-function-cast -Wcast-qual \
	-Wcast-align -Wwrite-strings -Wconversion -Wstrict-prototypes \
	-Wmissing-prototypes -Wmissing-declarations -Wredundant-decls \
	-Wnested-externs -Winline -Wno-unused-parameter
CFLAGS = $(WARNFLAGS) -I.. -I/usr/local/riscoslibs/include \
	-Dfd_set=long -mpoke-function-name
LDFLAGS = \
	/usr/local/riscoslibs/libungif/libungif.ro \
	/usr/local/riscoslibs/libxml2/libxml2.ro \
	/usr/local/riscoslibs/OSLib/OSLib32.ro \
	/usr/local/riscoslibs/curl/libcurl.ro \
	/usr/local/riscoslibs/libpng/libpng.ro \
	/usr/local/riscoslibs/zlib/libz.ro

OBJDIR = $(shell $(CC) -dumpmachine)
SOURCES=$(OBJECTS:.o=.c)
OBJS=$(OBJECTS:%.o=$(OBJDIR)/%.o)
DOCDIR = !NetSurf/Docs
DOCS=$(DOCUMENTS:%.html=$(DOCDIR)/%.html)

# targets
all: !NetSurf/!RunImage,ff8 $(DOCS)
!NetSurf/!RunImage,ff8 : $(OBJS)
	$(CC) -o $@ $(LDFLAGS) $^
netsurf.zip: !NetSurf/!RunImage,ff8 $(DOCS)
	rm netsurf.zip; riscos-zip -9vr, netsurf.zip !NetSurf

# pattern rule for c source
$(OBJDIR)/%.o : %.c
	$(CC) -o $@ -c $(CFLAGS) $(CFLAGS) $<

# special cases
css/css_enum.c css/css_enum.h: css/css_enums css/makeenum
	cd ..; /usr/bin/perl netsurf/css/makeenum netsurf/css/css_enum < netsurf/css/css_enums
css/parser.c: css/parser.y
	-cd css; lemon parser.y
css/scanner.c css/scanner.h: css/scanner.l
	cd css; flex scanner.l
	
# create documentation
$(DOCDIR)/%.html: documentation/%.xml
	# syntax: xsltproc [options] -o <output file> <XSL stylesheet> <input file>
	# --nonet prevents connection to the web to find the stylesheet
	xsltproc -o $@ http://www.movspclr.co.uk/dtd/100/prm-html.xsl $<

# generate dependencies
depend : $(SOURCES)
	-mkdir $(OBJDIR)
	$(CC) -MM -MG $(CFLAGS) $^ | sed 's|.*\.o:|$(OBJDIR)/&|g' > $@

# remove generated files
clean :
	-rm $(OBJDIR)/* depend css/css_enum.c css/css_enum.h \
		css/parser.c css/parser.h css/scanner.c css/scanner.h

include depend