1
0
mirror of synced 2026-01-11 23:52:42 +00:00
AK6DN.tu58em/makefile

72 lines
1.5 KiB
Makefile

#
# tu58em emulator makefile
#
# get operating system name
OPSYS = $(shell uname -s)
ifeq ($(OPSYS),Darwin)
# mac: UNIX comms model, but on MACOSX
OPTIONS = -DMACOSX
LFLAGS = -lpthread
BINDIR = /usr/local/bin
else ifeq ($(OPSYS:CYGWIN%=CYGWIN),CYGWIN)
# win: WINDOWS comms model under CYGWIN (any version)
OPTIONS = -DCYGWIN -DWINCOMM
LFLAGS = -lpthread -lrt
BINDIR = /cygdrive/e/DEC/tools/exe
else ifeq ($(OPSYS),Linux)
# unix: UNIX comms model under LINUX, use PARMRK serial mode
OPTIONS = -DLINUX -DUSE_PARMRK
LFLAGS = -lpthread -lrt
BINDIR = /usr/local/bin
else # unknown environment
OPTIONS =
LFLAGS = -lpthread -lrt
BINDIR = /usr/local/bin
endif
# default program name, redefine PROG=xxx on command line if wanted
PROG = tu58em
# compiler flags and libraries
CC = gcc
CFLAGS = -I. -O3 -Wall -c $(OPTIONS)
$(PROG) : main.o tu58drive.o file.o serial.o
$(CC) -o $@ main.o tu58drive.o file.o serial.o $(LFLAGS)
config :
@echo " OPSYS = \"$(OPSYS)\""
@echo " PROG = \"$(PROG)\""
@echo " BINDIR = \"$(BINDIR)\""
@echo " CC = \"$(CC)\""
@echo " CFLAGS = \"$(CFLAGS)\""
@echo " LFLAGS = \"$(LFLAGS)\""
clean :
-rm -f *.o
-chmod a-x,ug+w,o-w *.c *.h makefile
-chmod a+rx $(PROG) $(PROG).exe
-chown `whoami` *
purge : clean
-rm -f $(PROG) $(PROG).exe
install : $(PROG)
[ -d $(BINDIR) ] && cp $< $(BINDIR)
serial.o : serial.c common.h
$(CC) $(CFLAGS) serial.c
main.o : main.c common.h
$(CC) $(CFLAGS) main.c
tu58drive.o : tu58drive.c tu58.h common.h
$(CC) $(CFLAGS) tu58drive.c
file.o : file.c common.h
$(CC) $(CFLAGS) file.c
# the end