#
#	Makefile for the http handlers
#
#	Copyright (c) Embedthis Software LLC, 2003-2009. All Rights Reserved.
#

BUILD_NATIVE	:= 0

CGI				:= mod_cgi
FILE			:= mod_file
DIR				:= mod_dir
EGI				:= mod_egi
EJS				:= mod_ejs
PHP				:= mod_php
UPLOAD			:= mod_upload

include 		.makedep

#
#	Order matters. Dependencies must be earlier in the list
#
ifeq	($(BLD_FEATURE_CGI),1)
	MODULES		+= $(BLD_MOD_DIR)/$(CGI)$(BLD_SHOBJ)
endif
ifeq	($(BLD_FEATURE_DIR),1)
	MODULES		+= $(BLD_MOD_DIR)/$(DIR)$(BLD_SHOBJ)
endif
ifeq	($(BLD_FEATURE_FILE),1)
	MODULES		+= $(BLD_MOD_DIR)/$(FILE)$(BLD_SHOBJ)
endif
ifeq	($(BLD_FEATURE_EGI),1)
	MODULES		+= $(BLD_MOD_DIR)/$(EGI)$(BLD_SHOBJ)
endif
ifeq	($(BLD_FEATURE_EJS),1)
	MODULES		+= $(BLD_MOD_DIR)/$(EJS)$(BLD_SHOBJ)
endif
ifeq	($(BLD_FEATURE_PHP),1)
	MODULES		+= $(BLD_MOD_DIR)/$(PHP)$(BLD_SHOBJ)
	MAKE_IFLAGS	+= $(BLD_PHP_IFLAGS) 
	PHP_IMPORTS	+= $(patsubst %,$(BLD_LIB_DIR)/%, $(BLD_PHP_IMP_LIBS))
endif
ifeq	($(BLD_FEATURE_UPLOAD),1)
	MODULES		+= $(BLD_MOD_DIR)/$(UPLOAD)$(BLD_SHOBJ)
endif

LIBS			= appweb mpr

modules: 		$(MODULES) dummy

compileExtra: 	$(PHP_IMPORTS)

#
#	Build Modules -- Always build all modules -- even if statically linking
#
$(BLD_MOD_DIR)/$(CGI)$(BLD_SHOBJ): $(BLD_OBJ_DIR)/cgiHandler$(BLD_OBJ) $(BLD_LIB_DIR)/libappweb$(BLD_LIB)
	@bld --shared --library $(BLD_MOD_DIR)/$(CGI) --libs "$(LIBS)" $(BLD_OBJ_DIR)/cgiHandler$(BLD_OBJ)

$(BLD_MOD_DIR)/$(DIR)$(BLD_SHOBJ): $(BLD_OBJ_DIR)/dirHandler$(BLD_OBJ) $(BLD_LIB_DIR)/libappweb$(BLD_LIB)
	@bld --shared --library $(BLD_MOD_DIR)/$(DIR) --libs "$(LIBS)" $(BLD_OBJ_DIR)/dirHandler$(BLD_OBJ)

$(BLD_MOD_DIR)/$(EGI)$(BLD_SHOBJ): $(BLD_OBJ_DIR)/egiHandler$(BLD_OBJ) $(BLD_LIB_DIR)/libappweb$(BLD_LIB)
	@bld --shared --library $(BLD_MOD_DIR)/$(EGI) --libs "$(LIBS)" $(BLD_OBJ_DIR)/egiHandler$(BLD_OBJ)

$(BLD_MOD_DIR)/$(EJS)$(BLD_SHOBJ): $(BLD_OBJ_DIR)/ejsHandler$(BLD_OBJ) $(BLD_LIB_DIR)/libejs$(BLD_LIB)
	@bld --shared --library $(BLD_MOD_DIR)/$(EJS) --libs "ejs $(LIBS)" $(BLD_OBJ_DIR)/ejsHandler$(BLD_OBJ)

$(BLD_MOD_DIR)/$(FILE)$(BLD_SHOBJ): $(BLD_OBJ_DIR)/fileHandler$(BLD_OBJ) $(BLD_LIB_DIR)/libappweb$(BLD_LIB)
	@bld --shared --library $(BLD_MOD_DIR)/$(FILE) --libs "$(LIBS)" $(BLD_OBJ_DIR)/fileHandler$(BLD_OBJ)

$(BLD_MOD_DIR)/$(PHP)$(BLD_SHOBJ): $(BLD_OBJ_DIR)/phpHandler$(BLD_OBJ) $(BLD_LIB_DIR)/libappweb$(BLD_LIB)
	@bld --shared --library $(BLD_MOD_DIR)/$(PHP) --rpath "$(BLD_MOD_PREFIX)" \
		--search "$(BLD_PHP_LIBPATHS)" --libs "$(BLD_PHP_DEP_LIBS) $(LIBS)" $(BLD_OBJ_DIR)/phpHandler$(BLD_OBJ)

$(BLD_MOD_DIR)/$(UPLOAD)$(BLD_SHOBJ): $(BLD_OBJ_DIR)/uploadHandler$(BLD_OBJ) $(BLD_LIB_DIR)/libappweb$(BLD_LIB)
	@bld --shared --library $(BLD_MOD_DIR)/$(UPLOAD) --libs "$(LIBS)" $(BLD_OBJ_DIR)/uploadHandler$(BLD_OBJ)

#
#	Import required libraries
#	
$(PHP_IMPORTS): $(patsubst %,$(BLD_PHP_IMP_LIBPATH)/%, $(BLD_PHP_IMP_LIBS))*
	getlib $(BLD_PHP_IMP_LIBPATH)/$(notdir $@)*

cleanExtra:
	rm -f $(MODULES)
