From 1e202c8f2af09b7a9d717885ebbe205aad5e153a Mon Sep 17 00:00:00 2001 From: James Bursa Date: Sat, 31 May 2003 18:40:46 +0000 Subject: [project @ 2003-05-31 18:40:46 by bursa] New makefile with proper dependency handling. svn path=/import/netsurf/; revision=136 --- makefile | 111 ++++++++++++++++++++++++++------------------------------------- 1 file changed, 45 insertions(+), 66 deletions(-) (limited to 'makefile') diff --git a/makefile b/makefile index d8a9d8189..f626313ee 100644 --- a/makefile +++ b/makefile @@ -1,79 +1,58 @@ -# $Id: makefile,v 1.20 2003/05/23 11:08:17 bursa Exp $ +# $Id: makefile,v 1.21 2003/05/31 18:40:46 bursa Exp $ -all: !NetSurf/!RunImage,ff8 -clean: - -rm */arm-riscos-aof/* css/parser.c css/parser.h css/scanner.c css/scanner.h - -setup: render/arm-riscos-aof riscos/arm-riscos-aof desktop/arm-riscos-aof \ - content/arm-riscos-aof utils/arm-riscos-aof css/arm-riscos-aof -%/arm-riscos-aof: - -mkdir $@ - -FLAGS = -Wall -W -Wundef -Wpointer-arith -Wbad-function-cast -Wcast-qual \ - -Wcast-align -Wwrite-strings -Wconversion -Wstrict-prototypes -Wmissing-prototypes \ - -Wmissing-declarations -Wredundant-decls -Wnested-externs -Winline \ - -I.. -I/usr/local/riscoslibs/include \ - -Dfd_set=long -mpoke-function-name -DNETSURF_DUMP CC = riscos-gcc -OBJECTS = \ - content/arm-riscos-aof/cache.o content/arm-riscos-aof/content.o \ - content/arm-riscos-aof/fetch.o content/arm-riscos-aof/fetchcache.o \ - desktop/arm-riscos-aof/browser.o desktop/arm-riscos-aof/netsurf.o \ - render/arm-riscos-aof/box.o \ - render/arm-riscos-aof/html.o \ - render/arm-riscos-aof/layout.o render/arm-riscos-aof/textplain.o \ - riscos/arm-riscos-aof/font.o riscos/arm-riscos-aof/gui.o \ - riscos/arm-riscos-aof/theme.o riscos/arm-riscos-aof/jpeg.o \ - riscos/arm-riscos-aof/filetype.o utils/arm-riscos-aof/utils.o \ - riscos/arm-riscos-aof/png.o \ - css/arm-riscos-aof/css.o css/arm-riscos-aof/css_enum.o \ - css/arm-riscos-aof/parser.o css/arm-riscos-aof/scanner.o \ - css/arm-riscos-aof/ruleset.o -HEADERS = \ - content/cache.h content/content.h content/fetch.h content/fetchcache.h \ - desktop/browser.h desktop/gui.h desktop/netsurf.h render/box.h \ - render/html.h render/layout.h \ - riscos/font.h riscos/gui.h riscos/theme.h utils/log.h \ - utils/utils.h render/textplain.h \ - css/css.h css/css_enum.h css/parser.h css/scanner.h \ - riscos/png.h -LIBS = \ - /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 - -!NetSurf/!RunImage,ff8: $(OBJECTS) - $(CC) $(FLAGS) -o !NetSurf/!RunImage,ff8 $(OBJECTS) $(LIBS) - -render/arm-riscos-aof/%.o: render/%.c $(HEADERS) - $(CC) $(FLAGS) -o $@ -c $< - -riscos/arm-riscos-aof/%.o: riscos/%.c $(HEADERS) - $(CC) $(FLAGS) -o $@ -c $< - -desktop/arm-riscos-aof/%.o: desktop/%.c $(HEADERS) - $(CC) $(FLAGS) -o $@ -c $< - -content/arm-riscos-aof/%.o: content/%.c $(HEADERS) - $(CC) $(FLAGS) -o $@ -c $< +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 gui.o jpeg.o png.o theme.o \ + utils.o +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/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) + +# targets +!NetSurf/!RunImage,ff8 : $(OBJS) + $(CC) -o $@ $(LDFLAGS) $^ +netsurf.zip: !NetSurf/!RunImage,ff8 + rm netsurf.zip; riscos-zip -9vr, netsurf.zip !NetSurf -utils/arm-riscos-aof/%.o: utils/%.c $(HEADERS) - $(CC) $(FLAGS) -o $@ -c $< +# 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 +$(OBJDIR) : + -mkdir $(OBJDIR) -css/arm-riscos-aof/%.o: css/%.c $(HEADERS) - $(CC) $(FLAGS) -o $@ -c $< +# generate dependencies +depend : $(SOURCES) + $(CC) -MM -MG $(CFLAGS) $^ | sed 's|.*\.o:|$(OBJDIR)/& $(OBJDIR)|g' > $@ -netsurf.zip: !NetSurf/!RunImage,ff8 - rm netsurf.zip; riscos-zip -9vr, netsurf.zip !NetSurf +# 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 -- cgit v1.2.3