107 lines
3.0 KiB
Makefile
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
|
|
|
|
|