# # Makefile - makefile for romcheck # # Copyright (C) 1998-2003 Gero Kuhlmann # # 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 # 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. # # $Id: Makefile.in,v 1.6 2003/01/25 23:29:43 gkminix Exp $ # # Directory names prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ mandir = @mandir@ libdir = @libdir@ nblibdir = @nblibdir@ utildir = $(nblibdir)/utils ############# Do not touch anything below this line ##################### CC = @CC@ BCC = @BCC@ CPP = @CPP@ AS86 = @AS86@ LD86 = @LD86@ INSTALL = @INSTALL@ @SET_MAKE@ # define if we have a proper development system DEV86=@DEV86@ # define location of other directories and files within this package INCDIR = ../../include BCCINC = $(BCC:%/bin/bcc=%/include) # compiler and linker flags INCLUDE = -I. -I$(INCDIR) -I/usr/lib/bcc/include BCCFLAGS = -0 -Ms $(INCLUDE) AS86FLAGS = -0 -u -w -j LD86FLAGS = -0 -d LINKFLAGS = -0 -X-d -Ms -i- # list of source and object files CSRCS = main.c printscan.c printhex.c printinfo.c io.c ASRCS = loader.S doscan.S MAINOBJS = main.o doscan.o printscan.o printhex.o printinfo.o io.o MAINBIN = main.bin LOADOBJS = loader.o LOADBIN = loader.bin TARGET = romcheck.bin # rules to create object files from source files .SUFFIXES: .c .S .s .o .c.o: $(BCC) $(BCCFLAGS) -c -o $@ $< .S.s: $(CPP) $(INCLUDE) -o $@ $< .s.o: $(AS86) $(AS86FLAGS) -o $@ $< || { rm -f $@ && false; } .S.o: $(CPP) $(INCLUDE) -o $(<:.S=.s) $< $(AS86) $(AS86FLAGS) -o $@ $(<:.S=.s) || { rm -f $@ && false; } .PHONY: all distrib install dep all distrib: $(TARGET)-$(DEV86) $(TARGET)-no86: @touch $(TARGET) $(TARGET)-i86: $(TARGET) $(TARGET): $(LOADBIN) $(MAINBIN) cat $(LOADBIN) $(MAINBIN) > $(TARGET) @chmod 644 $(TARGET) $(LOADBIN): stamp-version $(LOADOBJS) $(LD86) $(LD86FLAGS) -o $(LOADBIN) $(LOADOBJS) @chmod 644 $(LOADBIN) $(MAINBIN): stamp-version $(MAINOBJS) $(BCC) $(LINKFLAGS) -o $(MAINBIN) $(MAINOBJS) @chmod 644 $(MAINBIN) stamp-version: (cd $(INCDIR) && $(MAKE) version.h) || exit 1 @touch stamp-version install: all $(INSTALL) -o bin -g bin -d $(utildir) $(INSTALL) -m 644 -o bin -g bin $(TARGET) $(utildir)/$(TARGET) dep: stamp-version sed '/\#\#\# Dependencies/q' tmp_make if test "x$(BCCINC)" = "x"; then \ $(CPP) $(INCLUDE) -MM $(CSRCS) >>tmp_make; \ else \ $(CPP) $(INCLUDE) -MM $(CSRCS) -I$(BCCINC) >>tmp_make; \ fi $(CPP) $(INCLUDE) -MM $(ASRCS) >>tmp_make mv tmp_make Makefile .PHONY: clean distclean realclean clean: rm -f *.o *.s *.b *.lst *.map *.bak tmp_make core rm -f stamp-* rm -f $(LOADBIN) $(MAINBIN) distclean: clean rm -f Makefile rm -f *.o *.s *.b *.lst *.map *.bak realclean: distclean rm -f $(TARGET) ### Dependencies