#**************************************************************************
#
#	Copyright (c) 2000  ICP Electronics Inc.  All Rights Reserved.
#
#	FILE:
#		Makefile
#
#	Abstract:
#		Makefile for uLinux NAS user/group/share management library.
#
#	HISTORY:
#		12/12/00	Meiji Chang - reformated
#		09/01/00	Nick Ho - created
#
#**************************************************************************

TARGET = libuLinux_NAS
CC = $(CROSS_COMPILE)gcc
STRIP = $(CROSS_COMPILE)strip
CFLAG = -fPIC -Wall -c
INCLUDE = -I. -I../include -I../uLinux -I../common
PHASE_ONE_DST_DIR = $(shell pwd)/../.build/usr/lib
NAS_PPC = -DNAS_PPC
#LIB = -L${PHASE_ONE_DST_DIR} -luLinux_Util -luLinux_config -luLinux_Storage -luLinux_quota -luLinux_PDC -luLinux_Ldap
LIB = -L${PHASE_ONE_DST_DIR} -luLinux_Util -luLinux_config -luLinux_Storage -luLinux_quota -luLinux_PDC
# To enable debug message dump, un-comment the following flag
#DEBUG_FLAG = -g -DDEBUG

OBJS = ../common/nas_lib_common.o user_grp.o share.o security.o nasnfs.o nassys.o bigcrypt.o md5c.o nas_hash.o

#MORE_OBJS = ../common/nas_lib_common.o user_grp.o share.o security.o nasnfs.o nassys.o bigcrypt.o ../quota/quota.o ../pdc/naspdc.o ../pdc/nas_ads.o ../config/sys_update.o ../config/cfg_nic.o ../config/cfg_system.o ../config/eventlog.o ../config/cfg_netware.o ../config/cfg_samba.o ../config/msg.o ../config/cfg_nfs.o ../config/cfg_appletalk.o ../config/cfg_rtrr.o ../config/cfg_network.o ../config/cfg_printer.o ../config/cfg_display.o ../config/cfg_ftp.o ../config/cfg_webfs.o ../config/cfg_fw.o ../config/ifcfg.o ../config/gw.c ../config/sem.o ../config/cfg_alert.o ../config/cfg_misc.o ../config/cfg_snmp.o ../storage/lvm.o ../storage/lvm_config.o ../storage/disk.o ../storage/volume.o ../storage/nasdisk.o ../storage/raid.o ../storage/interface.o ../util/confutil.o ../util/shm_util.o ../util/file_lock.o ../util/mb.o ../ldap/client.o
MORE_OBJS = ../common/nas_lib_common.o md5c.o nas_hash.o user_grp.o share.o security.o nasnfs.o nassys.o bigcrypt.o ../quota/quota.o ../pdc/naspdc.o ../pdc/nas_ads.o ../config/sys_update.o ../config/cfg_nic.o ../config/cfg_system.o ../config/eventlog.o ../config/cfg_netware.o ../config/cfg_samba.o ../config/msg.o ../config/cfg_nfs.o ../config/cfg_appletalk.o ../config/cfg_rtrr.o ../config/cfg_network.o ../config/cfg_printer.o ../config/cfg_display.o ../config/cfg_ftp.o ../config/cfg_webfs.o ../config/cfg_fw.o ../config/ifcfg.o ../config/gw.c ../config/sem.o ../config/cfg_alert.o ../config/cfg_misc.o ../config/cfg_snmp.o ../storage/lvm.o ../storage/lvm_config.o ../storage/disk.o ../storage/volume.o ../storage/nasdisk.o ../storage/raid.o ../storage/interface.o ../util/confutil.o ../util/shm_util.o ../util/file_lock.o ../util/mb.o
ifeq ($(MODEL),TS-201)
	MORE_OBJS = ../common/nas_lib_common.o md5c.o nas_hash.o user_grp.o share.o security.o nasnfs.o nassys.o bigcrypt.o ../quota/quota.o ../pdc/naspdc.o ../pdc/nas_ads.o ../config/sys_update.o ../config/cfg_nic.o ../config/cfg_system.o ../config/eventlog.o ../config/cfg_netware.o ../config/cfg_samba.o ../config/msg.o ../config/cfg_nfs.o ../config/cfg_appletalk.o ../config/cfg_rtrr.o ../config/cfg_network.o ../config/cfg_printer.o ../config/cfg_display.o ../config/cfg_ftp.o ../config/cfg_webfs.o ../config/cfg_fw.o ../config/ifcfg.o ../config/gw.c ../config/sem.o ../config/cfg_alert.o ../config/cfg_misc.o ../config/cfg_snmp.o ../storage_201/lvm.o ../storage_201/lvm_config.o ../storage_201/disk.o ../storage_201/volume.o ../storage_201/nasdisk.o ../storage_201/raid.o ../storage_201/interface.o ../util/confutil.o ../util/shm_util.o ../util/file_lock.o ../util/mb.o
endif

all: 	$(OBJS)
	$(CC) $(DEBUG_FLAG) -shared -Wl,-soname,${TARGET}.so.0 -o ${TARGET}.so.0.0 ${OBJS} -lc -lcrypt $(LIB)

phase_one:	$(MORE_OBJS)
	$(CC) $(LFS) $(DEBUG_FLAG) -shared -Wl,-soname,$(TARGET).so.0 -o $(TARGET).so.0.0 $(OBJS) -lc -lcrypt
	[ -d $(PHASE_ONE_DST_DIR) ] || mkdir -p $(PHASE_ONE_DST_DIR)
	mv $(TARGET).so.0.0 $(PHASE_ONE_DST_DIR)
	ln -sf $(TARGET).so.0.0  $(PHASE_ONE_DST_DIR)/$(TARGET).so.0
	ln -sf $(TARGET).so.0  $(PHASE_ONE_DST_DIR)/$(TARGET).so

%.o : %.c 
	$(CC) $(NAS_PPC) $(CFLAG) $(INCLUDE) $(DEBUG_FLAG) $< -o $@

test:	test.c test.o
	rm -f test
	$(CC) $(DEBUG_FLAG) test.c -o test $(INCLUDE) -luLinux_NAS -luLinux_Util -luLinux_config -lDS_public_lib -lDS_hd_lib -lc -lcrypt

libtest:	$(OBJS) test.c
	$(CC) $(DEBUG_FLAG) test.c -o libtest $(INCLUDE) -luLinux_NAS

install:
	$(STRIP) $(TARGET).so.0.0
	install -m 644 $(TARGET).so.0.0  $(TARGET_PREFIX)/usr/lib
	ln -sf $(TARGET).so.0.0  $(TARGET_PREFIX)/usr/lib/$(TARGET).so.0
	ln -sf $(TARGET).so.0  $(TARGET_PREFIX)/usr/lib/$(TARGET).so

clean:
	rm -f *.o ../common/nas_lib_common.o
	rm -f $(TARGET).so.0.0
	rm -f test libtest
	rm -f *~
