CASA/c_clientlogin/Makefile
2005-10-21 01:16:41 +00:00

107 lines
3.0 KiB
Makefile

#/******************************************************************************
#
# %name: Makefile %
# %version: %
# %date_modified: %
# $Copyright:
#
# Copyright (c) 2004 Novell, Inc. All Rights Reserved.
#
# THIS WORK IS SUBJECT TO U.S. AND INTERNATIONAL COPYRIGHT LAWS AND
# TREATIES. NO PART OF THIS WORK MAY BE USED, PRACTICED, PERFORMED
# COPIED, DISTRIBUTED, REVISED, MODIFIED, TRANSLATED, ABRIDGED, CONDENSED,
# EXPANDED, COLLECTED, COMPILED, LINKED, RECAST, TRANSFORMED OR ADAPTED
# WITHOUT THE PRIOR WRITTEN CONSENT OF NOVELL, INC. ANY USE OR EXPLOITATION
# OF THIS WORK WITHOUT AUTHORIZATION COULD SUBJECT THE PERPETRATOR TO
# CRIMINAL AND CIVIL LIABILITY.$
#
# *****************************************************************************/
.PHONY: all rebuild clean
# Source directory name, library name and library directory name
APP_NAME = nwautologin
# Output Paths
ifdef DEBUG
OBJ_ROOT = ./Debug
FINAL_ROOT = ./Debug
else
OBJ_ROOT = ./Release
FINAL_ROOT = ./Release
endif
OBJ_DIR := $(OBJ_ROOT)
FINAL_DIR := $(FINAL_ROOT)
OBJS := $(foreach obj,$(basename $(wildcard *.c)),$(addsuffix .o, $(obj)))
# Target file
FINAL_TARGET := $(FINAL_DIR)/$(APP_NAME)
# Library paths and files
# Please note: lib CLN has a circular dependency. In the case of a clean
# build, lib NCP must be built first. lib NCP cannot be fully built until
# until lib CLN has been built. Build order is NCP, CLN, NCP (or CLN, NCP, CLN)
NWLIB_PATH := /opt/novell/lib
NWLIB_LIST := clxlnx callnx netlnx ncplnx clnlnx loclnx
EXTLIB_PATH :=
EXTLIB_LIST :=
# Compiler specific include paths
INC_PATH = /opt/novell/include/xplat /opt/novell/CASA_devel/include
# Compiler flagsEXTLIB_LIST
CFLAGS := -Wall -O2 -D N_PLAT_UNIX -D N_USE_CRT -fshort-wchar \
$(foreach path,$(INC_PATH),-I $(path))
ifdef DEBUG
CFLAGS += -g
endif
# Linker flags
#LDFLAGS := $(foreach path,$(NWLIB_PATH) $(EXTLIB_PATH),-L$(path)) \
# $(foreach lib, $(NWLIB_LIST) $(EXTLIB_LIST),-l$(lib)) \
# -Wl,$(foreach path,$(NWLIB_PATH),-rpath $(path))
LDFLAGS := $(foreach path,$(NWLIB_PATH) $(EXTLIB_PATH),-L$(path)) \
$(foreach lib, $(NWLIB_LIST) $(EXTLIB_LIST),-l$(lib))
ifdef DEBUG
LDFLAGS += -g
endif
# Prerequisite and target search paths
vpath %.h /opt/novell/include/xplat
vpath %.o $(OBJ_DIR)
# Main target is library file in final area
all: $(FINAL_TARGET)
# Helper target/source defines
SILENT = @
IGNORE = -
_Target = $@
_Source = $<
_Sources = $^
_Root = $*
# Final target
$(FINAL_TARGET): $(OBJS)
@echo Linking $(_Target)
gcc -o $(_Target) $(LDFLAGS) $(foreach obj,$(OBJS),$(OBJ_DIR)/$(obj))
# build .c files
%.o: %.c
@echo Compiling $(_Source)
gcc -c $(CFLAGS) $(INC_PATHS) $(_Source) -o $(OBJ_DIR)/$(_Target)
# Rebuild this project
rebuild: clean all
# Clean this project
clean:
@-rm $(FINAL_TARGET)
@-rm $(OBJ_DIR)/*.o