symctl.in: $(srcdir)/common.symctl $(srcdir)/config/i386/Linux/elfchecker.symctl
	cat $(srcdir)/common.symctl $(srcdir)/config/i386/Linux/elfchecker.symctl > symctl.in

libchecker.o: $(OBJS) symctl symctl.in
	$(LD) $(LDFLAGS_FOR_CHKR) -o libchecker.o $(OBJS)
	./symctl -s symctl.in libchecker.o

chkrcrt1.o: $(srcdir)/patches/chkrcrt1.S
	$(CC) -o chkrcrt1.o -c $(srcdir)/patches/chkrcrt1.S

checkergcc: checkergcc.o
	$(CC) $(UTILS_LDFLAGS) -o checkergcc checkergcc.o

checkergcc.o: $(srcdir)/utils/checkergcc.c
	$(CC) $(UTILS_CFLAGS) -c $<

checkerg++: checkerg++.o
	$(CC) $(UTILS_LDFLAGS) -o checkerg++ checkerg++.o

checkerg++.o: $(srcdir)/utils/checkerg++.c
	$(CC) $(UTILS_CFLAGS) -c $<

install: install.dir libchecker.o checkergcc checkerg++ # setchkrfl
	$(INSTALL_DATA) libchecker.o $(DESTDIR)$(checkerdir)
	sed s,@CHECKER_PATH@,$(checkerdir),g < $(srcdir)/bin/specs > specs.new
	$(INSTALL_DATA) specs.new $(DESTDIR)$(checkerdir)/specs
	rm specs.new
#	$(INSTALL_DATA) $(srcdir)/bin/chkrcrt0.o $(DESTDIR)$(checkerdir)/crt0.o
#	./setchkrfl --yes $(DESTDIR)$(checkerdir)/crt0.o
#	$(INSTALL_PROGRAM) $(srcdir)/bin/as $(DESTDIR)$(checkerdir)/as
	$(INSTALL_PROGRAM) checkergcc $(DESTDIR)$(bindir)
	$(INSTALL_PROGRAM) checkerg++ $(DESTDIR)$(bindir)
	@echo "Don't forget to install Checker-libs !"

# Should only be used by maintenainers to quickly install the binary.
update: 
	$(INSTALL_DATA) libchecker.o $(DESTDIR)$(checkerdir)


uninstall: 
	rm -f $(DESTDIR)$(checkerdir)/crt0.o $(DESTDIR)$(checkerdir)/as $(DESTDIR)$(checkerdir)/ld
	rm -f $(DESTDIR)$(bindir)/checkergcc $(DESTDIR)$(bindir)/checkerg++
	rm -f $(DESTDIR)$(checkerdir)/specs $(DESTDIR)$(checkerdir)/libchecker.o
