Files
amiga-smbfs/source_code/smakefile
T
obarthel d058085b8a Updated to version 2.13
The ACTION_CREATE_DIR, ACTION_DELETE_OBJECT, ACTION_FINDOUTPUT, ACTION_RENAME_OBJECT, ACTION_SET_DATE, ACTION_SET_FILE_SIZE, ACTION_SET_PROTECT and ACTION_WRITE operations now set use more appropriate error codes instead of always translating an unspecific "access denied" error into "ERROR_READ_PROTECTED". For example, for ACTION_DELETE_OBJECT the new translation of "access denied" will be "ERROR_DELETE_PROTECTED".

Added the ErrorOutput option, which can be either "stderr" (default) or "stdout". Its purpose is to allow error messages written by smbfs to be redirected to a file, which will not work for AmigaDOS shell versions 36-40 if smbfs uses "stderr". Use ErrorOutput=stdout to be able to redirect all smbfs output, including any error messages, to a file.

Updated the copyright text.

Output to console or log files is now line-buffered.
2019-02-09 11:58:20 +01:00

156 lines
5.2 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#
# :ts=4
#
# SMB file system wrapper for AmigaOS, using the AmiTCP V3 API
#
# Copyright (C) 2000-2019 by Olaf `Olsen' Barthel <obarthel -at- gmx -dot- net>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
#
# NOTE: In order to build smbfs you will need to obtain the AmiTCP
# SDK, or the equivalent for Miami/Miami Deluxe or Roadshow.
# From that SDK, copy the "netinclude" directory to the same
# directory you find this "smakefile" in. Next, modify this
# "smakefile", removing the "@ctags >tagfiles/$* $<" and
# "@type tagfiles/\#? >t:tags", "@copy t:tags """ and
# "@delete >nil: t:tags" lines if you don't have the "ctags"
# command installed.
#
.c.o:
sc $(CFLAGS) $<
@ctags >tagfiles/$* $<
.asm.o:
asm $(ASMFLAGS) $<
###############################################################################
PROJECT = smbfs
###############################################################################
#############################################################################
#
# Program version
#
#############################################################################
VERSION = 2
###############################################################################
OPTIMIZE = optimize opttime optinline optinlocal
CPU = any
#CPU = 060 optschedule
DEBUG = line
#DEBUG = symbolflush noopt
###########################################################################
# This enables full debugging support, which will significantly
# increase the size of the program and also make it run slower.
#
# Note that the debug build requires the "code=far data=faronly"
# option and linking against "lib:scnb.lib".
#
#DEBUG_OPTIONS = define=DEBUG define=DUMP_SMB code=far data=faronly
###########################################################################
# Enable profiling support; note that this requires linking
# against "lib:scnb.lib" instead of "lib:sc.lib", just like
# it is necessary for the debug build.
#PROFILE_OPTIONS = profile code=far data=faronly
###############################################################################
# Note: if DEBUG_OPTIONS or PROFILE_OPTIONS are enabled you will need to link
# smbfs against "lib:scnb.lib" rather than "lib:sc.lib".
LIBS = lib:sc.lib lib:amiga.lib lib:debug.lib
###############################################################################
CFLAGS = \
idlen=64 comnest streq strmerge nostkchk \
$(OPTIMIZE) cpu=$(CPU) debug=$(DEBUG) $(DEBUG_OPTIONS) $(PROFILE_OPTIONS) \
params=register idir=netinclude idir=include \
ignore=306 gst=system_headers.gst
LFLAGS = \
noicons batch
###############################################################################
OBJS = \
main.o proc.o smb_abstraction.o sock.o crypt.o quad_math.o dump_smb.o \
cp437.o cp850.o splay.o swap_stack_and_call.o
###############################################################################
all: tagfiles system_headers.gst $(PROJECT)
tagfiles:
makedir $@
$(PROJECT): $(OBJS) system_headers.gst Assert.o
slink $(OBJS) to $@.debug lib $(LIBS) Assert.o $(LFLAGS) \
map $(PROJECT).map,fhx fwidth 32 pwidth 32 swidth 32
slink $@.debug to $@ noicons nodebug
@type tagfiles/\#? >t:tags
@copy t:tags ""
@delete >nil: t:tags
system_headers.gst: system_headers.h system_headers.c
gst unload $@
sc $(CFLAGS) nodebug noobjname nogst makegst=$@ system_headers.c
exall-example: exall-example.c
sc link exall-example.c
###############################################################################
assert.o : assert.c
cp437.o : cp437.c
cp850.o : cp850.c
crypt.o : crypt.c system_headers.h assert.h quad_math.h splay.h smbfs.h
dump_smb.o : dump_smb.c system_headers.h assert.h quad_math.h splay.h smbfs.h dump_smb.h
main.o : main.c system_headers.h assert.h quad_math.h splay.h smbfs.h smb_abstraction.h cp437.h cp850.h errors.h dump_smb.h smbfs_rev.h
proc.o : proc.c system_headers.h assert.h quad_math.h splay.h smbfs.h errors.h smbfs_rev.h
quad_math.o : quad_math.c quad_math.h
smb_abstraction.o : smb_abstraction.c system_headers.h assert.h quad_math.h splay.h smbfs.h errors.h smb_abstraction.h
sock.o : sock.c system_headers.h assert.h quad_math.h splay.h smbfs.h smb_abstraction.h dump_smb.h errors.h
splay.o : splay.c system_headers.h assert.h quad_math.h splay.h smbfs.h
###############################################################################
clean:
-delete \#?.o $(PROJECT)(%|.debug) exall-example(%|.lnk)
realclean: clean
-delete system_headers.gst tags tagfiles \#?.map ID all
###############################################################################
mkid:
mkid -v \#?.(c|h|a|asm|i) include/smb/\#?.h
update:
mkid -v -u
version:
bumprev $(VERSION) $(PROJECT)