#
# Main target
#
all: exe

include Makefiles/$(PLATFORM)

#
# Few common things
#

CC = gcc
LIBS = -lscl -lmanycode -lfsearch -lasvtools $(LIBS1)
CFLAGS = -Wall -O -g -I../libraries/include
LDFLAGS = -L../libraries/lib -L/usr/local/lib -L/usr/X11R6/lib

#
# Dependencies
#
nftp_objs = nftp.o bookmark.o auxprogs.o nls.o net.o parsers.o help.o \
   transfer.o do_key.o init.o display.o getoptns.o history.o search.o \
   scripting.o tcpip.o passwords.o mirror.o licensing.o befs.o \

convert/cnv.exe: convert/cnv.c
	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ -lasvtools $(LIBS1)

nftp_os2.exe: $(nftp_objs) main.o
	$(CC) $(LDFLAGS) -Zcrtdll -o $@ $^ -lfly_os2vio $(LIBS)
	icons.os2\addicon.cmd icons.os2\nftp.ico nftp_os2.exe
        
nftp_pm.exe: $(nftp_objs) main.o nftppm.def nftppm.res
	$(CC) $(LDFLAGS) -Zcrtdll -o $@ $^ -lfly_os2pm $(LIBS)
	icons.os2\addicon.cmd icons.os2\nftppm.ico nftp_pm.exe

nftp_x.exe: $(nftp_objs) main.o
	$(CC) $(LDFLAGS) -Zcrtdll -o $@ $^ -lfly_os2x $(LIBS) $(LIBTERMCAP)

nftp_x11.exe: $(nftp_objs) main.o
	$(CC) $(LDFLAGS) -Zcrtdll -o $@ $^ -lfly_os2x11 $(LIBS) -lX11 

nftp_unix_term: $(nftp_objs) main.o
	$(CC) $(LDFLAGS) -o $@ $^ $(LIBS1) -lfly_unix_term $(LIBS) $(LIBTERMCAP)

nftp_unix_term-static: $(nftp_objs) main.o
	-$(CC) $(LDFLAGS) -static -s -o $@ $^ $(LIBS1) -lfly_unix_term $(LIBS) $(LIBTERMCAP)

nftp_unix_x11: $(nftp_objs) main.o
	$(CC) $(LDFLAGS) -o $@ $^ $(LIBS1) -lfly_unix_x11 $(LIBS) -lX11

nftp_unix_x11-static: $(nftp_objs) main.o
	-$(CC) $(LDFLAGS) -static -o $@ $^ $(LIBS1) -lfly_unix_x11 $(LIBS) -lX11

nftp_win32cons.exe: $(nftp_objs) getopt.o main.o nftpwc.o
	$(CC) $(LDFLAGS) -g -o $@ $^ -lfly_win32cons $(LIBS) -lwsock32 -luser32

nftp_win32gui.exe: $(nftp_objs) getopt.o winmain.o nftpwg.o
	$(CC) $(LDFLAGS) -g -o $@ $^ -lfly_win32gui $(LIBS) -luser32 -lgdi32 -lwsock32 -mwindows

nftp_beos_term: $(nftp_objs) main.o
	$(CC) $(LDFLAGS) -g -o $@ $^ -lfly_beos_term $(LIBS) $(LIBTERMCAP)
	
sign.exe: sign.o
	$(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
        
license.o: license.c
        
license.exe: license.o
	$(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
#
# Pseudo-targets
#
exe: $(TARGETS)

force:

clean:
	rm -f *.exe *.o *.a *.res nftp.srch debug/* core
	rm -f $(TARGETS)
	rm -rf nftp-$(VERSION)
	rm -f convert/*.o convert/cnv.exe convert/cnv

distrib: exe strip distcopy distcopy2 nlsconv
	$(ARCHIVER) $(ARCHIVER_FLAGS) nftp-$(VERSION)-$(PLATFORM).$(ARCHIVER) nftp-$(VERSION)
	$(COMPRESSOR) nftp-$(VERSION)-$(PLATFORM).$(ARCHIVER)
	rm -rf nftp-$(VERSION)

sdistrib: statics
	rm -rf nftp-$(VERSION)
	mkdir nftp-$(VERSION)
	-mv nftp_unix_term-static nftp-$(VERSION)/nftp
	-mv nftp_unix_x11-static nftp-$(VERSION)/xnftp
	$(ARCHIVER) $(ARCHIVER_FLAGS) nftp-$(VERSION)-$(PLATFORM)-static.$(ARCHIVER) nftp-$(VERSION)
	$(COMPRESSOR) nftp-$(VERSION)-$(PLATFORM)-static.$(ARCHIVER)
	rm -rf nftp-$(VERSION)

distcopy:
	rm -rf nftp-$(VERSION)
	mkdir nftp-$(VERSION)
	cp -f $(TARGETS) nftp-$(VERSION)/
	cp -f nls/* nftp-$(VERSION)/
	cp -f doc/* nftp-$(VERSION)/
	-cp -f distfiles/$(PLATFORM)/* nftp-$(VERSION)/
	
statics: nftp_unix_term-static nftp_unix_x11-static
	-strip nftp_unix_term-static
	-strip nftp_unix_x11-static

unixfiles:
	cp -f unix/* nftp-$(VERSION)/
	chmod +x nftp-$(VERSION)/*.sh
	mv nftp-$(VERSION)/nftp_unix_term nftp-$(VERSION)/nftp
	mv nftp-$(VERSION)/nftp_unix_x11 nftp-$(VERSION)/xnftp

include Makefiles/nls-conversions
