CFLAGS= -Wall -Wextra -D__NUT_EMULATION__ -I./include -ggdb
CFLAGS2= $(CFLAGS) -DUSECURSES
SOURCES= guiout.c ../action.c ../bigbuff.c ../connurl.c ../error.c ../filemanager.c ../fileselect.c ../icy200.c ../id3.c ../info.c ../lastfm.c ../memmapper.c ../menu-interpreter.c ../menu-text.c ../metainfoqueue.c ../network.c ../networkedit.c ../recorder.c ../spi.c ../statestorage.c ../streamlogic.c ../stringhelper.c ../writemp3.c mp3out.c thread/lists.c  thread/userthread.c
CC=gcc

all: noncurses

noncurses:
	$(CC) -c $(SOURCES) $(CFLAGS)
	$(CC) -c ../infplay.c $(CFLAGS) -Dmain=origmain
	$(CC) -c net_nuttounix.c $(CFLAGS) -Wno-unused-parameter
	$(CC) -c thread_nuttounix.c $(CFLAGS) -Wno-unused-parameter
	$(CC) -c other_nuttounix.c $(CFLAGS) -Wno-unused-parameter
	$(CC) -o infplay *.o

ncurses:
	$(CC) -c $(SOURCES) $(CFLAGS2)
	$(CC) -c ../infplay.c $(CFLAGS2) -Dmain=origmain
	$(CC) -c net_nuttounix.c $(CFLAGS2) -Wno-unused-parameter
	$(CC) -c thread_nuttounix.c $(CFLAGS2) -Wno-unused-parameter
	$(CC) -c other_nuttounix.c $(CFLAGS2) -Wno-unused-parameter
	$(CC) -o infplay-ncurses *.o -lcurses

links:
	ln -sf ../../../../ethernut/nut/include/sys/thread.h include/sys/thread.h
	ln -sf ../../../../ethernut/nut/include/sys/types.h include/sys/types2.h
	ln -sf ../../../../ethernut/nut/include/sys/heap.h include/sys/heap.h
	ln -sf ../../../../ethernut/nut/include/sys/confnet.h include/sys/confnet.h
	ln -sf ../../../../ethernut/nut/include/sys/version.h include/sys/version.h
	ln -sf ../../../../ethernut/nut/include/sys/timer.h include/sys/timer.h
	ln -sf ../../../../ethernut/nut/include/sys/device.h include/sys/device.h
	ln -sf ../../../../ethernut/nut/include/sys/file.h include/sys/file.h
	ln -sf ../../../../ethernut/nut/include/cfg/eeprom.h include/cfg/eeprom.h
	ln -sf ../../../../ethernut/nut/include/cfg/udp.h include/cfg/udp.h
	ln -sf ../../../../ethernut/nut/include/cfg/fs.h include/cfg/fs.h
	ln -sf ../../../../ethernut/nut/include/arch/timer.h include/arch/timer.h
	ln -sf ../../../../ethernut/nut/include/dev/netbuf.h include/dev/netbuf.h
	ln -sf ../../../../ethernut/nut/include/dev/nvmem.h include/dev/nvmem.h
	ln -sf ../../../../../ethernut/nut/include/arch/unix/timer.h include/arch/unix/timer.h
	ln -sf ../../pctests/net_nuttounix.h include/net_nuttounix.h
	ln -sf ../pctests/net_nuttounix.c net_nuttounix.c

clean:
	rm -f *.o
	rm -f thread/*.o
	rm -f infplay
	rm -f infplay-ncurses

cleanalllinks: clean
	rm -f include/sys/thread.h
	rm -f include/sys/types2.h
	rm -f include/sys/heap.h
	rm -f include/sys/confnet.h
	rm -f include/sys/version.h
	rm -f include/sys/timer.h
	rm -f include/sys/device.h
	rm -f include/sys/file.h
	rm -f include/cfg/eeprom.h
	rm -f include/cfg/udp.h
	rm -f include/cfg/fs.h
	rm -f include/arch/timer.h
	rm -f include/dev/netbuf.h
	rm -f include/dev/nvmem.h
	rm -f include/arch/unix/timer.h
	rm -f virtualeeprom
	rm -f mpg123error.log
	rm -f messages.log
	rm -f net_nuttounix.c
	rm -f include/net_nuttounix.h
