1#
2# @(#)GNUmakefile	1.18 06/10/30
3#
4# Copyright (c) 2006 Sun Microsystems, Inc.  All Rights Reserved.
5#
6# Redistribution and use in source and binary forms, with or without
7# modification, are permitted provided that the following conditions
8# are met:
9#
10# - Redistribution of source code must retain the above copyright
11#   notice, this list of conditions and the following disclaimer.
12#
13# - Redistribution in binary form must reproduce the above copyright
14#   notice, this list of conditions and the following disclaimer in
15#   the documentation and/or other materials provided with the
16#   distribution.
17#
18# Neither the name of Sun Microsystems, Inc. or the names of
19# contributors may be used to endorse or promote products derived
20# from this software without specific prior written permission.
21#
22# This software is provided "AS IS," without a warranty of any
23# kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
24# WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
25# FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
26# EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
27# NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
28# USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
29# DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
30# ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
31# CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
32# REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
33# INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
34# POSSIBILITY OF SUCH DAMAGES.
35#
36# You acknowledge that this software is not designed, licensed or
37# intended for use in the design, construction, operation or
38# maintenance of any nuclear facility.
39#
40
41#
42# @(#)GNUmakefile 1.3 09/30/98
43#
44.SUFFIXES:
45.SUFFIXES: .java .class $(SUFFIXES)
46.PHONY: validate
47
48SUBDIRS = hs apidoc object jhdemo idedemo searchdemo merge newmerge browser newbrowser lib bin
49
50DTDPATH = ../doc/public-spec/dtd
51
52HS_FILES := $(shell find hs object merge newmerge searchdemo ../doc -name 'SCCS*' -prune -o -name '*.hs' -print)
53JHM_FILES := $(shell find hs object merge newmerge searchdemo ../doc -name 'SCCS*' -prune -o -name '*.jhm' -print)
54XML_FILES := $(shell find hs object merge newmerge searchdemo ../doc -name 'SCCS*' -prune -o -name '*.xml' -print)
55
56#all: validate
57all:
58	@for dir in $(SUBDIRS) ; do \
59	   echo "" ; \
60	   cd $$dir ; \
61	   $(MAKE) $@ ; \
62	   cd .. ; \
63	done
64
65clean:
66	@for dir in $(SUBDIRS) ; do \
67	   echo "" ; \
68	   cd $$dir ; \
69	   $(MAKE) $@ ; \
70	   cd .. ; \
71	done
72
73# Validate
74
75validate: Validator.class $(XML_FILES) $(HS_FILES) $(JHM_FILES)
76	export CLASSPATH; CLASSPATH=$(CLASSPATH):$(DTDPATH):. ; \
77	java Validator $(XML_FILES) $(HS_FILES) $(JHM_FILES)
78
79%.class: %.java
80	export CLASSPATH; CLASSPATH=$(CLASSPATH) ; \
81	javac $<
82