# # This source code is free software; you can redistribute it # and/or modify it in source code form under the terms of the GNU # Library 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 Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this program; if not, write to the Free # Software Foundation, Inc., 51 Franklin Street, Fifth Floor, # Boston, MA 02110-1301, USA. # SHELL = /bin/sh suffix = @install_suffix@ prefix = @prefix@ exec_prefix = @exec_prefix@ srcdir = @srcdir@ VPATH = $(srcdir) bindir = @bindir@ libdir = @libdir@ CC = @CC@ CXX = @CXX@ INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ LEX = @LEX@ YACC = @YACC@ ifeq (@srcdir@,.) INCLUDE_PATH = -I. -I.. else INCLUDE_PATH = -I. -I.. -I$(srcdir) -I$(srcdir)/.. endif CPPFLAGS = $(INCLUDE_PATH) @CPPFLAGS@ @DEFS@ @PICFLAG@ CXXFLAGS = @WARNING_FLAGS@ @WARNING_FLAGS_CXX@ @CXXFLAGS@ LDFLAGS = @LDFLAGS@ O = pcb.o scope.o show_netlist.o show_pcb.o footprint.o fp.o fp_lex.o all: dep pcb.tgt check: all clean: rm -f fp.cc fp.h fp.output fp_lex.cc rm -rf *.o dep pcb.tgt distclean: clean rm -f Makefile config.log rm -f stamp-pcb_config-h pcb_config.h cppcheck: $(O:.o=.cc) cppcheck --enable=all --std=c99 --std=c++03 -f \ --suppressions-list=$(srcdir)/cppcheck.sup \ -UYY_USER_INIT \ -UYYPARSE_PARAM -UYYPRINT -Ushort -Usize_t -Uyyoverflow \ -UYYTYPE_INT8 -UYYTYPE_INT16 -UYYTYPE_UINT8 -UYYTYPE_UINT16 \ -UYYSTYPE -U__SIZE_TYPE__ -Ufree \ --relative-paths=$(srcdir) $(INCLUDE_PATH) $^ Makefile: $(srcdir)/Makefile.in ../config.status cd ..; ./config.status --file=tgt-pcb/$@ dep: mkdir dep stamp-pcb_config-h: $(srcdir)/pcb_config.h.in ../config.status @rm -f $@ cd ..; ./config.status --header=tgt-pcb/pcb_config.h pcb_config.h: stamp-pcb_config-h %.o: %.cc $(CXX) $(CPPFLAGS) $(CXXFLAGS) @DEPENDENCY_FLAG@ -c $< -o $*.o mv $*.d dep fp_lex.o: fp_lex.cc fp.h fp_lex.cc: $(srcdir)/fp.lex $(LEX) -s -ofp_lex.cc $(srcdir)/fp.lex fp%cc fp%h: $(srcdir)/fp%y $(YACC) --verbose -t -p fp --defines=fp.h -o fp.cc $< ifeq (@WIN32@,yes) TGTLDFLAGS=-L.. -livl TGTDEPLIBS=../libivl.a else TGTLDFLAGS= TGTDEPLIBS= endif pcb.tgt: $O $(TGTDEPLIBS) $(CXX) @shared@ $(LDFLAGS) -o $@ $O $(TGTLDFLAGS) install: all installdirs installfiles F = ./pcb.tgt \ $(srcdir)/pcb.conf \ $(srcdir)/pcb-s.conf installfiles: $(F) | installdirs $(INSTALL_PROGRAM) ./pcb.tgt "$(DESTDIR)$(libdir)/ivl$(suffix)/pcb.tgt" $(INSTALL_DATA) $(srcdir)/pcb.conf "$(DESTDIR)$(libdir)/ivl$(suffix)/pcb.conf" $(INSTALL_DATA) $(srcdir)/pcb-s.conf "$(DESTDIR)$(libdir)/ivl$(suffix)/pcb-s.conf" installdirs: $(srcdir)/../mkinstalldirs $(srcdir)/../mkinstalldirs "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libdir)/ivl$(suffix)" uninstall: rm -f "$(DESTDIR)$(libdir)/ivl$(suffix)/pcb.tgt" rm -f "$(DESTDIR)$(libdir)/ivl$(suffix)/pcb.conf" rm -f "$(DESTDIR)$(libdir)/ivl$(suffix)/pcb-s.conf" -include $(patsubst %.o, dep/%.d, $O)