mirror of
https://github.com/obarthel/amiga-smbfs.git
synced 2025-12-08 14:58:35 +00:00
This version fixes the instant crash in the fully optimized 68k/020+ builds, which was cased by a missing __saveds keyword.
149 lines
4.9 KiB
Plaintext
149 lines
4.9 KiB
Plaintext
#
|
||
# :ts=4
|
||
#
|
||
# SMB file system wrapper for AmigaOS, using the AmiTCP V3 API
|
||
#
|
||
# Copyright (C) 2000-2018 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
|
||
|
||
###############################################################################
|
||
|
||
# Note: if DEBUG_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) \
|
||
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)
|