summaryrefslogtreecommitdiff
path: root/config/izpack/registry/Makefile
blob: 70cb8ba58599971a1e5e9852f66b553b0d681ecd (plain) (blame)
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
############################################################-*-Makefile-*-####
# Makefile for setenv.jar
##############################################################################
# $Id$

##############################################################################

BINDIR			 = bin
SOURCEDIR		 = src
OUTPUTDIR		 = classes

JAVA_FILES		 = Main
JAVA_SOURCES		+= $(JAVA_FILES:%=$(SOURCEDIR)/%.java)

APP_MAIN		 = Main
APP_ARGS		 =

CYGWIN			 = $(filter CYGWIN%,$(shell uname))
CYGPATH			 = $(if $(CYGWIN),`cygpath -wp $(1)`,$(1))

REGISTRY_JARFILE	 = $(BINDIR)/registry.jar
SETENV_JARFILE		 = $(BINDIR)/setenv.jar

JAVAC			?= $(JAVA_HOME)/bin/javac
JAVAC_OPTIONS		+= -source 1.4 -target 1.4
JAVAC_OPTIONS		+= -classpath $(call CYGPATH,$(REGISTRY_JARFILE))
JAVAC_OPTIONS		+= -d $(OUTPUTDIR)

JAR			?= $(JAVA_HOME)/bin/jar
JAR_OPTIONS		+= 

JAVA			+= $(JAVA_HOME)/bin/java
JAVA_OPTIONS		+= -cp $(call CYGPATH,$(REGISTRY_JARFILE):$(OUTPUTDIR))
JAVA_OPTIONS		+= -Djava.library.path=$(call CYGPATH,$(REGISTRY_HOME)/bin)

##############################################################################

MKDIR			 = mkdir -p
RM			 = rm -f
TOUCH			 = touch

##############################################################################
# Commands

all: .latest-jc

clean:
	@$(RM) -r $(OUTPUTDIR) .latest-*

run: all
	@$(JAVA) $(JAVA_OPTIONS) $(APP_MAIN) $(APP_ARGS)

.PHONY: all
.PHONY: clean
.PHONY: run

##############################################################################
# Rules

.latest-jc: $(JAVA_SOURCES)
	@[ -d "$(OUTPUTDIR)" ] || $(MKDIR) $(OUTPUTDIR)
	$(JAVAC) $(JAVAC_OPTIONS) $<
	$(JAR) cfm $(SETENV_JARFILE) \
	    src/MANIFEST.MF -C $(OUTPUTDIR) \
	    $(APP_MAIN).class
	@$(TOUCH) $@

##############################################################################