include ../../Config.mk

SUBDIRS = 

# alphabetically sorted, please keep
########################################
TMPLSRCS  = \
	tmpl_acl.c \
	tmpl_acl_common.c \
	tmpl_acl_ports.c 
ifeq ($(PP_FEAT_PDU), 1)
TMPLSRCS += \
        tmpl_acl_outlets.c 
endif
ifeq ($(PP_FEAT_EXTENDED_PORT_ACLS), 1)
TMPLSRCS += \
        tmpl_acl_xports.c 
endif
ifeq ($(PP_FEAT_REMOTE_CONSOLE), 1)
TMPLSRCS += \
	tmpl_atx_reset_durations.c 
endif
TMPLSRCS += \
	tmpl_auth.c \
	tmpl_auth_ldap.c \
	tmpl_auth_radius.c \
	tmpl_debug_memory.c \
	tmpl_debug_kernel.c \
	tmpl_debug_misc.c 
ifeq ($(PP_FEAT_REMOTE_CONSOLE), 1)
TMPLSRCS += \
	tmpl_debug_vsc.c 
endif
TMPLSRCS += \
	tmpl_device_prod_info.c \
	tmpl_fd_usage.c \
	tmpl_firmware_common.c \
	tmpl_firmware_update.c \
	tmpl_firmware_upload.c \
	tmpl_ipmi_alerts.c \
	tmpl_ipmi.c \
	tmpl_ipmi_cache.c \
	tmpl_ipmi_chassis_control.c \
	tmpl_ipmi_chassis_info.c \
	tmpl_ipmi_chassis_locator.c \
	tmpl_ipmi_chassis_opma.c \
	tmpl_ipmi_common.c \
	tmpl_ipmi_events.c \
	tmpl_ipmi_filter_edit.c \
	tmpl_ipmi_filter_list.c \
	tmpl_ipmi_lan_dest_edit.c \
	tmpl_ipmi_lan_dest_list.c \
	tmpl_ipmi_lan_dest_options.c \
	tmpl_ipmi_policy_list.c \
        tmpl_ipmi_policy_edit.c \
	tmpl_ipmi_sel.c \
	tmpl_ipmi_sensors.c \
	tmpl_ipmi_status.c \
	tmpl_ipmi_fru_info.c
ifeq ($(PP_FEAT_REMOTE_CONSOLE), 1)
TMPLSRCS += \
	tmpl_km.c \
	tmpl_kvm.c \
	tmpl_kvm_common.c \
	tmpl_kvm_pc.c \
	tmpl_kvm_port_list.c \
	tmpl_kvm_powerctrl.c
endif
TMPLSRCS += \
	tmpl_language.c \
	tmpl_log_assign.c \
	tmpl_log.c \
	tmpl_log_list.c \
	tmpl_log_nfs.c \
	tmpl_log_smtp.c \
	tmpl_log_snmp.c \
	tmpl_net_basic.c \
	tmpl_net_common.c \
	tmpl_net_dyndns.c \
	tmpl_net_lanif.c \
	tmpl_net_misc.c \
	tmpl_net_wlan.c \
	tmpl_net_wlan_status.c \
	tmpl_net_wlan_wep.c \
	tmpl_net_wlan_wpa.c \
	tmpl_net_wlan_wpa_eap_peap_mschapv2.c \
	tmpl_net_wlan_wpa_psk.c \
	tmpl_oem_dev.c \
	tmpl_oem_misc.c \
	tmpl_oem_upload.c \
	tmpl_ping.c 
ifeq ($(PP_FEAT_REMOTE_CONSOLE), 1)
TMPLSRCS += \
	tmpl_power_control_common.c \
	tmpl_power_control_direct.c \
	tmpl_power_control_intern.c \
	tmpl_power_control_ipmi.c \
	tmpl_power_control_ports.c \
	tmpl_power_control_psu_adapt.c \
	tmpl_power_control_state.c \
	tmpl_power_device_cfg.c \
	tmpl_power_switch.c \
	tmpl_psu_power_cycle_offtime.c \
	tmpl_pswitch_status.c \
	tmpl_rc.c \
	tmpl_rc_encoding.c \
	tmpl_rc_general.c \
	tmpl_rc_home_refresh.c \
	tmpl_rc_hotkeys.c \
	tmpl_rc_misc.c \
	tmpl_rc_mouse_hotkey.c \
	tmpl_rc_preview.c \
	tmpl_rc_type.c \
        tmpl_sec_crypt_kvm.c
endif
TMPLSRCS += \
	tmpl_reset.c
ifeq ($(PP_PRODUCT), pdu)
TMPLSRCS += \
	tmpl_rpc_common.c \
        tmpl_rpc_alert_dests.c \
        tmpl_rpc_alert_events.c \
        tmpl_rpc_alert_policies.c \
        tmpl_rpc_outlet_detail.c \
        tmpl_rpc_outlet_list.c \
        tmpl_rpc_outlet_setup.c
endif
TMPLSRCS += \
	tmpl_sec_antibf.c \
        tmpl_sec_crypt_web.c \
	tmpl_sec_fw.c \
        tmpl_sec_group_acl.c \
        tmpl_sec_loglim.c \
	tmpl_sec_server_cert_common.c \
	tmpl_sec_server_cert_csr.c \
	tmpl_sec_server_cert_upload.c
ifeq ($(PP_FEAT_STRONG_PASSWORDS), 1)
TMPLSRCS += \
        tmpl_sec_strong_pw.c
endif
TMPLSRCS += \
	tmpl_serial_1.c \
	tmpl_serial_2.c \
	tmpl_serial_blade.c \
        tmpl_smtp.c \
	tmpl_sn.c \
	tmpl_snmp_agent.c \
	tmpl_ssh.c \
	tmpl_target_list.c \
	tmpl_telnet.c \
	tmpl_time.c \
	tmpl_time_local.c \
	tmpl_time_ntp.c \
	tmpl_um_common.c \
	tmpl_um_groups.c \
	tmpl_um_pwchange.c \
	tmpl_um_users.c
ifeq ($(PP_FEAT_USB_FORCE_FS), 1)
TMPLSRCS += \
	tmpl_usb_dc.c
endif
ifeq ($(PP_FEAT_MASS_STORAGE), 1)
TMPLSRCS += \
	tmpl_vfloppy_active.c \
	tmpl_vfloppy_common.c \
	tmpl_vfloppy_extern.c \
	tmpl_vfloppy_intern.c \
	tmpl_vfloppy_options.c \
	tmpl_vfloppy_redir.c
endif
ifeq ($(PP_FEAT_REMOTE_CONSOLE), 1)
TMPLSRCS += \
	tmpl_video_adc.c \
	tmpl_video_custom_modes.c \
	tmpl_video_local_port.c \
	tmpl_video_panel.c
endif

ifeq ($(PP_FEAT_IPMI_SHOW_SYSTEM_STATUS), 1)
TMPLSRCS += \
	tmpl_ipmi_system_status.c
endif

ifeq ($(PP_FEAT_ESB2_FNI), 1)
TMPLSRCS += \
	tmpl_ipmi_fni.c
endif

LIBSRCS =	asp.c \
		balloc.c \
		default.c \
		ejlex.c \
		ejparse.c \
		eric.c \
		eric_forms.c \
		eric_internal.c \
		eric_login.c \
		eric_util.c \
		eric_validate.c \
		h.c \
		handler.c \
		init.c \
		mime.c \
		misc.c \
		net.c \
		page.c \
		ringq.c \
		sym.c \
		uemf.c \
		url.c \
		value.c \
		webs.c \
		websuemf.c \
		translator.c \
                reconf.c \
		$(TMPLSRCS)

ifeq ($(PP_FEAT_PDU),1)
LIBSRCS +=	gd_images.c
else
LIBSRCS +=	gd_images_dummy.c
endif

LIB_NAME	 = liberic_webs
SHARED_LIB_MAJOR = 1
SHARED_LIB_MINOR = 0
SHARED_LIB = $(LIB_NAME).so.$(SHARED_LIB_MAJOR).$(SHARED_LIB_MINOR)

HEADER_FILE = eric_form_vars.h
STAMP_FILE = eric_form_vars.h.stamp

all-local:: $(STAMP_FILE)

$(STAMP_FILE): $(TMPLSRCS)
	if [ ! -e $(HEADER_FILE) ]; then touch $(HEADER_FILE); fi
	@echo "Extracting form var ids ..."
	@$(CC) -E $(FW_CPPFLAGS) -D_ERIC_FORM_VARS_H=1 $(sort $(TMPLSRCS)) | \
		./extract_formvar_info.pl > $(HEADER_FILE).tmp
	if ! cmp -s $(HEADER_FILE) $(HEADER_FILE).tmp; then \
		mv -f $(HEADER_FILE).tmp $(HEADER_FILE); \
	else \
		rm -f $(HEADER_FILE).tmp; \
	fi
	touch $(STAMP_FILE)

clean-local::
	rm -f $(HEADER_FILE) $(STAMP_FILE)

templates.c templates1.h: $(TMPLSRCS)
	./gen_templates.sh

include $(PP_BUILD_SYS_DIR)/Top.mk
