68 lines
1.4 KiB
Makefile
Raw Normal View History

2005-04-24 08:51:33 +00:00
APP_DIR = build/PluginExpressionParser.app
APP_CONTENTS_DIR = $(APP_DIR)/Contents
APP_ARCH_EXEC_DIR = $(APP_CONTENTS_DIR)/MacOS
APP_RESOURCES_DIR = $(APP_CONTENTS_DIR)/Resources
EXECUTABLE = $(APP_ARCH_EXEC_DIR)/PluginExpressionParser
OBJECT_FILES = main.o MyDocument.o PluginEvalAux.o
BUILD_OBJECT_FILES = $(addprefix build/,$(OBJECT_FILES)) \
build/PluginEvalAux_stub.o
HOST = $(shell uname)
ifeq ($(HOST),Darwin)
default: app
else
default: no_app
endif
app: $(APP_CONTENTS_DIR) $(APP_RESOURCES_DIR) $(EXECUTABLE)
#
$(EXECUTABLE): $(APP_ARCH_EXEC_DIR) $(BUILD_OBJECT_FILES)
ghc \
-o "$(EXECUTABLE)" \
-framework Cocoa \
-package-conf ../../../plugins.conf.inplace \
-package plugins \
-no-hs-main \
$(BUILD_OBJECT_FILES)
build/MyDocument.o: MyDocument.m MyDocument.h
gcc -c -o "$@" -Wall -I`ghc --print-libdir`/include "$<"
build/main.o: main.m
gcc -c -o "$@" -Wall -I`ghc --print-libdir`/include "$<"
build/PluginEvalAux.o: PluginEvalAux.hs
ghc --make \
-package-conf ../../../plugins.conf.inplace \
-package plugins \
-odir build/ \
-hidir build/ \
"$<"
#
$(APP_DIR):
mkdir -p "$@"
$(APP_ARCH_EXEC_DIR): $(APP_DIR)
mkdir -p "$@"
$(APP_CONTENTS_DIR): $(APP_DIR) Info.plist
mkdir -p "$(APP_CONTENTS_DIR)"
cp Info.plist "$@"
echo -n 'APPL????' > "$@"/PkgInfo
$(APP_RESOURCES_DIR): $(APP_DIR) English.lproj
mkdir -p "$(APP_RESOURCES_DIR)"
cp -R English.lproj "$@"
#
clean:
-rm -rf build *_stub.?