#
# "$Id: samples.mk,v 1.6 2004/02/12 23:01:29 pv108971 Exp $"
#
# Copyright  2002 Sun Microsystems, Inc. All rights reserved.
# 
# U.S. Government Rights - Commercial software. Government users are
# subject to the Sun Microsystems, Inc. standard license agreement and
# applicable provisions of the FAR and its supplements. Use is subject to
# license terms. Sun, Sun Microsystems, the Sun logo and Sun ONE are
# trademarks or registered trademarks of Sun Microsystems, Inc. in the
# U.S. and other countries.
# 
# Copyright  2002 Sun Microsystems, Inc. Tous droits rservs.
# 
# Droits du gouvernement amricain, utlisateurs gouvernmentaux - logiciel
# commercial. Les utilisateurs gouvernmentaux sont soumis au contrat de
# licence standard de Sun Microsystems, Inc., ainsi qu aux dispositions en
# vigueur de la FAR [ (Federal Acquisition Regulations) et des supplments
#  celles-ci.
# 
# Distribu par des licences qui en restreignent l'utilisation. Sun, Sun
# Microsystems, le logo Sun et Sun ONE sont des marques de fabrique ou des
# marques dposes de Sun Microsystems, Inc. aux Etats-Unis et dans
# d'autres pays.
# 
#
# Makefile for building sample agent
#

OS_ARCH := $(shell uname -s)

ifndef AM_INCLUDE_DIR
	AM_INCLUDE_DIR := ../include
endif
ifndef AM_LIB_DIR
ifeq ($(OS_ARCH), WINNT)
	AM_LIB_DIR := ../bin
else
ifeq ($(OS_ARCH), SunOS)
	AM_LIB_DIR := /opt/SUNWam/lib
else
	AM_LIB_DIR := ../lib
endif
endif
endif

#
# Default targets
#
PROGRAMS_NAMES = am_policy_test am_auth_test am_sso_test am_log_test
PROGRAMS := $(patsubst %,%$(EXE_EXT),$(PROGRAM_NAMES))

#
# Source Files
#
SRCS = am_policy_test.c am_auth_test.c am_sso_test.c am_log_test.c

#
# Object Files
#
ifeq ($(OS_ARCH), WINNT)
OBJS = $(patsubst %.c, %.obj, $(filter %.c,$(SRCS)))
else
OBJS = $(patsubst %.c, %.o, $(filter %.c,$(SRCS)))
endif

#
# Compiler to be used
#
ifeq ($(OS_ARCH), WINNT)
CC = cc
else
ifeq ($(OS_ARCH), Linux)
CC = g++
else
CC = gcc
endif
endif

#
# Libs to be used
#
ifeq ($(OS_ARCH), WINNT)
LIBS = -lamsdk -llibxml2 -lssl3 -lnss3 -llibplc4 -llibplds4 -llibnspr4
else
ifeq ($(OS_ARCH), Linux)
LIBS = -lamsdk -lxml2 -lssl3 -lnss3 -lplc4 -lplds4 -lnspr4
else
LIBS = -lamsdk -lxml2 \
	-L /usr/lib/mps -lssl3 -lnss3 -lplc4 -lplds4 -lnspr4 \
	-L /usr/ucblib -lucb
endif
endif

#
# Compiler flags
#
CFLAGS = -I$(AM_INCLUDE_DIR)
LDFLAGS = $(LIBS) -L$(AM_LIB_DIR)
ifeq ($(OS_ARCH), WINNT)
CFLAGS += -DWINNT
else
ifeq ($(OS_ARCH), Linux)
CFLAGS += -g -Wall -DLINUX
else
CFLAGS += -g -Wall
endif
endif

#
# Make C programs
#
MAKE_C_PROGRAM = $(LINK.c) $(OUTPUT_OPTION) $^ 

ifeq ($(OS_ARCH), WINNT)
EXE_EXT := .exe
OBJ_EXT := obj
else
OBJ_EXT := o
endif

PROGRAM_NAMES := am_auth_test am_sso_test am_policy_test am_log_test
PROGRAMS := $(patsubst %,%$(EXE_EXT),$(PROGRAM_NAMES))

all: $(PROGRAMS)

ifeq ($(OS_ARCH), WINNT)
%.obj: %.c
	$(CC) $(CFLAGS) -c -o $@ $*.c
else
%.o: %.c
	$(CC) $(CFLAGS) -c -o $@ $*.c
endif

am_auth_test$(EXE_EXT): am_auth_test.$(OBJ_EXT)
	$(MAKE_C_PROGRAM)

am_sso_test$(EXE_EXT): am_sso_test.$(OBJ_EXT)
	$(MAKE_C_PROGRAM)

am_policy_test$(EXE_EXT): am_policy_test.$(OBJ_EXT)
	$(MAKE_C_PROGRAM)

am_log_test$(EXE_EXT): am_log_test.$(OBJ_EXT)
	$(MAKE_C_PROGRAM)


#
# Clean target
#
clean:
	rm -f $(OBJS) $(PROGRAMS)

