xitiomet / placebohttp (http://openstatic.org/)

Embeded Http server for gcj/java applications. PlaceboHttp uses an automatic session management system, Treating each session as a HttpRequest queue.

Clone this repository (size: 135.2 KB): HTTPS / SSH
$ hg clone http://hg.openstatic.org/placebohttp
commit 21: 3144d982a5c1
parent 20: fc9e1983c2a0
branch: default
Added JSON support. fixed standalone mode
xitiomet
8 months ago
placebohttp / Makefile
r21:3144d982a5c1 97 loc 4.2 KB embed / history / annotate / raw /
# Makefile for Openstatic.org Placebo HTTP Server
# Please note: I Chose make over ant because of gcj

# Configuration Options
JC=gcj
JAVAC=javac
CLASS_PATH=build:src
JAR=jar
JC_FLAGS=-d build

# Where to begin....
all: placebohttp

# Alternate build using the java vm
jvm:
	mkdir jvm-build
	$(JAVAC) src/*.java
	$(JAVAC) src/org/json/*.java -d jvm-build
	$(JAVAC) src/org/openstatic/http/*.java -d jvm-build
	$(JAVAC) src/org/openstatic/placebo/*.java -d jvm-build
	$(JAR) -cvmf manifest.mf placebohttp.jar -C jvm-build org -C jvm-build PlaceboBase.class www

# Executable Rule for GCJ
# -------------------------------------------------------------------------------

placebohttp: placebohttp.jar
	$(JC) $^ -O2 -fuse-boehm-gc --classpath=placebohttp.jar --main=PlaceboBase -o $@

# Here are all the classes for the project
# -------------------------------------------------------------------------------

build/PlaceboBase.class: src/PlaceboBase.java
	$(JC) $(JC_FLAGS) --classpath=$(CLASS_PATH) -C $<

build/org/openstatic/http/PlaceboHttpServer.class: src/org/openstatic/http/PlaceboHttpServer.java
	$(JC) $(JC_FLAGS) --classpath=$(CLASS_PATH) -C $<

build/org/openstatic/http/PlaceboSession.class: src/org/openstatic/http/PlaceboSession.java
	$(JC) $(JC_FLAGS) --classpath=$(CLASS_PATH) -C $<

build/org/openstatic/http/HttpRequest.class: src/org/openstatic/http/HttpRequest.java
	$(JC) $(JC_FLAGS) --classpath=$(CLASS_PATH) -C $<

build/org/openstatic/http/HttpResponse.class: src/org/openstatic/http/HttpResponse.java
	$(JC) $(JC_FLAGS) --classpath=$(CLASS_PATH) -C $<

build/org/openstatic/http/HttpRequestThread.class: src/org/openstatic/http/HttpRequestThread.java
	$(JC) $(JC_FLAGS) --classpath=$(CLASS_PATH) -C $<

build/org/openstatic/placebo/ControlPanel.class: src/org/openstatic/placebo/ControlPanel.java
	$(JC) $(JC_FLAGS) --classpath=$(CLASS_PATH) -C $<

build/org/openstatic/placebo/CoreServer.class: src/org/openstatic/placebo/CoreServer.java
	$(JC) $(JC_FLAGS) --classpath=$(CLASS_PATH) -C $<

build/org/openstatic/util/JTextAreaOutputStream.class: src/org/openstatic/util/JTextAreaOutputStream.java
	$(JC) $(JC_FLAGS) --classpath=$(CLASS_PATH) -C $<

build/org/openstatic/util/JSONUtil.class: src/org/openstatic/util/JSONUtil.java
	$(JC) $(JC_FLAGS) --classpath=$(CLASS_PATH) -C $<

# Org.JSON

build/org/json/JSONArray.class: src/org/json/JSONArray.java build/org/json/JSONObject.class
	$(JC) $(JC_FLAGS) -w --classpath=$(CLASS_PATH) -C $<

build/org/json/JSONException.class: src/org/json/JSONException.java
	$(JC) $(JC_FLAGS) -w --classpath=$(CLASS_PATH) -C $<

build/org/json/JSONObject.class: src/org/json/JSONObject.java build/org/json/JSONException.class build/org/json/JSONTokener.class build/org/json/JSONString.class
	$(JC) $(JC_FLAGS) -w --classpath=$(CLASS_PATH) -C $<

build/org/json/JSONString.class: src/org/json/JSONString.java
	$(JC) $(JC_FLAGS) -w --classpath=$(CLASS_PATH) -C $<

build/org/json/JSONStringer.class: src/org/json/JSONStringer.java
	$(JC) $(JC_FLAGS) -w --classpath=$(CLASS_PATH) -C $<

build/org/json/JSONTokener.class: src/org/json/JSONTokener.java build/org/json/JSONException.class
	$(JC) $(JC_FLAGS) -w --classpath=$(CLASS_PATH) -C $<

build/org/json/JSONWriter.class: src/org/json/JSONWriter.java build/org/json/JSONObject.class
	$(JC) $(JC_FLAGS) -w --classpath=$(CLASS_PATH) -C $<


# Main Builds
# -------------------------------------------------------------------------------

placebohttp.jar: build/org/openstatic/http/PlaceboHttpServer.class build/org/openstatic/http/PlaceboSession.class build/org/openstatic/http/HttpRequest.class build/org/openstatic/http/HttpRequestThread.class build/org/openstatic/http/HttpResponse.class build/PlaceboBase.class build/org/openstatic/placebo/ControlPanel.class build/org/openstatic/placebo/CoreServer.class build/org/openstatic/util/JSONUtil.class build/org/openstatic/util/JTextAreaOutputStream.class build/org/json/JSONArray.class build/org/json/JSONException.class build/org/json/JSONObject.class build/org/json/JSONString.class build/org/json/JSONStringer.class build/org/json/JSONTokener.class build/org/json/JSONWriter.class
	$(JAR) -cvmf manifest.mf $@ -C build org -C build PlaceboBase.class www

clean:
	rm -fR jvm-build
	rm -fR build
	rm -f placebohttp
	rm -f placebohttp.jar