# # :ts=4 # # SMB file system wrapper for AmigaOS, using the AmiTCP V3 API # # Copyright (C) 2000-2019 by Olaf `Olsen' Barthel # # 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)